В комментарии к этому ответу CommonsWare рекомендует использовать тот же метод, который был предложен @evilone здесь (т.е. копировать базу данных из ресурсов самостоятельно).Вместо этого вы должны использовать проверенные и проверенные SQLiteAssetHelper
.Я использовал его в Android Studio, и он хорошо работает.
Направления довольно ясны.Вот несколько ключевых отрывков:
Если вы используете систему сборки Gradle, просто добавьте следующую зависимость в ваш файл build.gradle
:
dependencies {
compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
}
Расширьте SQLiteAssetHelper
, как обычно, SQLiteOpenHelper
, предоставив конструктору имя базы данных и номер версии:
public class MyDatabase extends SQLiteAssetHelper {
private static final String DATABASE_NAME = "northwind.db";
private static final int DATABASE_VERSION = 1;
public MyDatabase(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
}
Поместите вашу базу данных в assets/databases/northwind.db
(используя любое имя базы данныху вас есть).
База данных становится доступной для использования при первом вызове getReadableDatabase()
или getWritableDatabase()
.