использовать внешнюю базу данных в Android - PullRequest
1 голос
/ 19 марта 2011

Я создал базу данных AddressBookMaster.db с помощью Sqlite Browser, а также создал таблицу AddressBook в указанной базе данных.Но теперь проблема в том, что я хочу использовать этот файл .db в своем приложении, поэтому куда мне поместить этот файл db и как получить его в приложении?

Есть ли какой-нибудь пример или учебник, который может мне помочь?

Ответы [ 4 ]

5 голосов
/ 19 марта 2011

Вы также можете поместить свой файл базы данных на SD-карту.Используйте следующий код для использования базы данных с SDCard.

File dbfile = new File("/sdcard/Your_db_File.db" ); 
SQLiteDatabase  db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
2 голосов
/ 19 марта 2011

Информация, содержащаяся в Использование вашей собственной базы данных SQLite в приложениях Android должно иметь именно то, что вы ищете.

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

0 голосов
/ 22 мая 2014

Используйте android-sqlite-asset-helper , чтобы заполнить (инициализировать) базу данных вашего приложения при установке

Если вы хотите изменить папку базы данных по умолчанию на sdcard:

public class MyApplication extends Application {

    @Override
    public void onCreate() {

        SQLiteOpenHelper helper = ..
        SQLiteDatabase db = helper.getWritableDatabase()
    }


    @Override
    public File getDatabasePath(String name) {
        return new File(getDatabasePathString(name));
    }

    @Override
    public SQLiteDatabase openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory) {
        return super.openOrCreateDatabase(getDatabasePathString(name), mode, factory);
    }

    @Override
    public SQLiteDatabase openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory, DatabaseErrorHandler errorHandler) {
        return super.openOrCreateDatabase(getDatabasePathString(name), mode, factory, errorHandler);
    }

    /*Put the default folder to store database of your application / or activity here */
    public String getDatabasePathString(String name) {
        return getExternalCacheDir()+ "/" + name+".db";  /* /storage/emulated/0/Android/data/com.my.app/cache */
    }

}
0 голосов
/ 19 марта 2011

Информация, содержащаяся в разделе «Использование собственной базы данных SQLite в приложениях Android», очень полезна для U, и если у U есть база данных размером более 1024 байтов, то сначала разбейте базу данных на маленькие части и скопируйте все маленькие базы данных в директорию вашего приложения.,

...