Java 如何更改getWritableDatabase()指向路径?
我有以下代码:Java 如何更改getWritableDatabase()指向路径?,java,android,sqlite,Java,Android,Sqlite,我有以下代码: // 2. get reference to writable DB SQLiteDatabase db = this.getWritableDatabase(); Cursor cursor = db.rawQuery(query, null); 我看到db是 SQLiteDatabase:/data/data/com.myApp/databases/user.db 然而,我的应用程序的另一部分写到: adb pull data/data/com.myApp/user.db
// 2. get reference to writable DB
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(query, null);
我看到db是
SQLiteDatabase:/data/data/com.myApp/databases/user.db
然而,我的应用程序的另一部分写到:
adb pull data/data/com.myApp/user.db
(我用adb拉力验证拉力)
如何更改SQLiteDatabase:/data/data/com.myApp/databases/user.db
)的路径?/data/data/com.myApp/databases/user.db
是数据库的正确位置。考虑修复代码的部分,期望它是代码>数据/数据/ COM.MyAPP/Up.Db<代码> > < /P>
要更改路径,可以提供到SQLiteDatabaseHelper
构造函数的完整路径,而不仅仅是数据库名user.db
/data/data/com.myApp/databases/user.db
是数据库的正确位置。考虑修复代码的部分,期望它是代码>数据/数据/ COM.MyAPP/Up.Db<代码> > < /P>
要更改路径,可以提供SQLiteDatabaseHelper
构造函数的完整路径,而不是像这样只提供数据库名user.db
super(context,/data/data/com.myApp/databases/user.db,空,数据库版本)代码>是,带有“引号”
。但不要假设路径总是这样。有些设备没有。最好不要指定任何路径;使用context.getApplicationInfo().dataDir
的第二个最佳方法是:我得到了以下错误:java.lang.IllegalArgumentException:File data/data/com.MyApp/user.db包含一个路径分隔符
像这样吗super(context,/data/data/com.myApp/databases/user.db,空,数据库版本)代码>是,带有“引号”
。但不要假设路径总是这样。有些设备没有。最好不要指定任何路径;使用context.getApplicationInfo().dataDir的第二个最佳选择是:java.lang.IllegalArgumentException:File data/data/com.MyApp/user.db包含路径分隔符