我已经使用 Sqlite 浏览器创建了数据库 AddressBookMaster.db,并在提到的数据库中创建了表 AddressBook。但现在的问题是我想在我的应用程序中使用这个 .db 文件,那么我应该把这个 db 文件放在哪里以及如何在应用程序中获取?
有什么例子或教程可以帮助我吗?
我已经使用 Sqlite 浏览器创建了数据库 AddressBookMaster.db,并在提到的数据库中创建了表 AddressBook。但现在的问题是我想在我的应用程序中使用这个 .db 文件,那么我应该把这个 db 文件放在哪里以及如何在应用程序中获取?
有什么例子或教程可以帮助我吗?
You can put your Database file in the SDcard also. Use following code to use the Database from the SDCard.
File dbfile = new File("/sdcard/Your_db_File.db" );
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
在 Android 应用程序中使用您自己的 SQLite 数据库中包含的信息应该正是您要查找的内容。
您应该注意,虽然这并不难,但它不仅仅是一组可以在您的应用程序之外完成的琐碎命令。
使用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 */
}
}
“在 Android 应用程序中使用您自己的 SQLite 数据库”中包含的信息对 U 非常有用,如果 U 的 db 大小超过 1024 字节,则首先将 db 拆分为小部分并将所有小 db 复制到您的应用程序目录中。