我使用Sqlite Browser创建了数据库AddressBookMaster.db,并在所提到的数据库中创建了表AddressBook。但现在的问题是我想在我的应用程序中使用这个.db文件,那么我应该在哪里放置这个db文件以及如何在应用程序中获取?
是否有任何可以帮助我的示例或教程?
答案 0 :(得分:5)
您也可以将数据库文件放入SD卡中。使用以下代码来使用SDCard中的数据库。
File dbfile = new File("/sdcard/Your_db_File.db" );
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
答案 1 :(得分:2)
Using your own SQLite database in Android applications中包含的信息应完全符合您的要求。
你应该注意到,虽然这并不是很困难,但它不仅仅是一组在应用程序之外完成的简单命令。
答案 2 :(得分:0)
“在Android应用程序中使用自己的SQLite数据库”中包含的信息对于U非常有用,如果U的db大小超过1024字节,则首先将db分成小部分并复制应用程序中的所有小dbs 。
答案 3 :(得分:0)
使用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 */
}
}