我想直接在SD卡中编辑现有的.db文件。根据{{3}},使用以下代码,可以将该数据库复制到/data/data/PACKAGE_NAME/databases/
然后进行编辑,但我想在SD卡中对其进行编辑。
public void openDataBase() throws SQLException{
String myPath = DB_PATH + DB_NAME;
myDB = SQLiteDatabase.openDatabase(myPath, null,SQLiteDatabase.OPEN_READWRITE);
有可能吗?
答案 0 :(得分:0)
http://developer.android.com/guide/topics/data/data-storage.html#filesInternal
有了这个,你可以读/写你的应用程序的内部存储...是不是一个DB文件。
或....您可以打开/读取内部数据库中的数据,然后系统地将其复制到外部存储设备上的新数据库中。
这很乏味,但它让您有机会“清理”您可能不想分享的任何“私人”信息的数据库。
和“乏味”并非“完全”真实,您只需要再次创建每个表,然后读取每个表并将该数据插入新数据库。
答案 1 :(得分:0)
感谢朋友......这就是答案:
首先你应该像这样定义数据库文件:
SQLiteDatabase myDB;
然后,例如插入:
myDB = SQLiteDatabase.openDatabase("/sdcard/mydb.db", null, SQLiteDatabase.OPEN_READWRITE);
ContentValues cv1 = new ContentValues();
cv1.put("Field1", "new Field");
cv1.put("Field2", "other Field");
myDB.insert("TABLE_NAME", null, cv1);
或更新使用此:
myDB.update("TABLE_NAME", cv1, "_id=" + 1, null);