我创建了一个简单的APP来在数据库中添加一些数据。当我在Linux Chrome浏览器上进行测试时,我访问数据库本身没有问题(路径.config/google-chrome/Default/databases/http_localhost_8383/
),但现在我正在测试一个真正的Android设备,我找不到APP正在生成的文件
请注意,我在root设备上使用root浏览器。
答案 0 :(得分:1)
你是对的,db应该位于'/ data / data /'+ this.packageName +'/ databases /'+ dbName你确定它正在被创建吗?引用brodybits“当应用程序调用sqlitePlugin.openDatabase()时,插件将创建数据库文件(如果它不存在),或读取数据库文件(如果存在)。对于每个平台,数据库文件应该是相同的路径(相对于您的应用),无论您是在模拟器上还是在真实设备上运行它。“
我觉得您使用的是浏览器数据库插件,而不是基于数据库的位置。
Chrome将其数据库保存在〜/ .config / google-chrome / Default / databases中,但它与cordova的sqlite插件cordova-sqlite-storage不同。
答案 1 :(得分:0)
也许这会有所帮助:
if (android.os.Build.VERSION.SDK_INT >= 17) {
DB_PATH = xcontext.getApplicationInfo().dataDir + "/databases/";
} else {
DB_PATH = xcontext.getFilesDir().getPath() + "data/" +
xcontext.getPackageName() + "/databases/";
}
或:
if (android.os.Build.VERSION.SDK_INT >= 17) {
DB_PATH = xcontext.getApplicationInfo().dataDir + "/databases/";
} else {
DB_PATH = "/data/data/" + xcontext.getPackageName() + "/databases/";
}