Вопрос по android – Доступ к базе данных одного приложения из другого приложения

5

Я создал приложение и теперь хочу скопировать базу данных этого работающего приложения, используя мое новое приложение резервного копирования. Я создаю свой путь к базе данных, делаяDB_PATH + DB_NAME, используя следующие значения:

DB_PATH = "/data/data/iCam.Cam/";
DB_NAME = "testdb.db";

У меня есть код, который копирует базу данных с указанного пути на SD-карту. Однако, когда я первоначально проверяю базу данных, используя следующий метод, она возвращаетfalse:

public boolean checkDataBase() {    
    SQLiteDatabase checkDB = null;

    try {
        String myPath = DB_PATH + DB_NAME;
        checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
    } catch (SQLiteException e) {
        e.fillInStackTrace();
        // database does't exist yet.
    }

    if (checkDB != null) {
        checkDB.close();
    }

    return checkDB != null ? true : false;
}

Есть предложения о том, как этого добиться?

@ Rasel ответ правильный. Вы должны использовать contentProvider из вашего реального приложения, чтобы разделить контроль над базой данных. почему ты все равно хочешь его скопировать ?? drulabs
Я хочу скопировать его, потому что мое приложение отправляет базу данных на сервер, но в настоящее время оно не отправляет некоторые данные, которые должны быть загружены в Интернет, поэтому мне нужно эту базу данных скопировать на SD-карту, чтобы я мог быть отправлен по поч Trikaldarshi

Ваш Ответ

4   ответа
2

Безопасность Android. Любым данным, хранящимся в приложении, будет присвоен идентификатор пользователя этого приложения, и они обычно недоступны для других пакетов

10

если вы создали базу данных запущенных приложений в пользовательском поставщике контента.

Вы не можете напрямую получить доступ к базе данных из запущенного приложения.

Но если вы создаете базу данных работающих приложений в Custom Content Provider, то с помощью органов власти вы можете напрямую получить доступ к базе данных.

В этом случае вам даже не нужно копировать эту базу данных.

Ссылка на этоссылк для поставщика нестандартного контента.

3
No

если приложение не предоставит вам интерфейс через ContentProvider.

2

вы можете просматривать свою базу данных SQLite, поэтому прочитайте руководство по DDMS по этой ссылкеhttp: //www.brighthub.com/mobile/google-android/articles/25023.asp http://www.edumobile.org/android/category/android-beginner-tutorials

Я хочу передать эту настройку моему удаленному клиенту Trikaldarshi

Похожие вопросы