use*_*794 5 installation android rooted-device installation-path
我有一个非常具体的问题.
首先让我解释一下我想要做什么,然后解决问题.
基本上我要做的是将现有的.db数据库文件存储在assets文件夹中,然后在安装后我想将.db文件从资产复制到Android中的默认数据库位置.与此页面类似的答案[link] 如何在Android应用程序中使用现有数据库.
问题对于无根设备我无法访问/data/data/<<package name folder>>.在这种情况下,数据库文件存储在何处.在其他方面,我想将资产从资产复制到数据库的应用程序默认位置DB_PATH = "/data/data/" + context.getPackageName() + "/databases/",如果是root用户设备.对于无根设备是否相同?
是的,对于这两种情况,它将是相同的路径. /data/data/<application_package_name>/databases
现在,在非root用户设备上,您无法访问/data/设备内部存储的目录.这就是你无法看到数据库文件的原因.
如果要获取文件,可以将数据库文件从内部存储器复制 /data/data/<application_package_name>/databases到外部存储器(sdcard),然后使用ddms或adb pull获取数据库文件.
另外,只需adb pull /data/data/<application_package_name>/databases/<database_file_name>从系统中尝试命令即可获取数据库文件.
但默认情况下所有的android应用商店数据库都在内部存储路径上/data/data/<application_package_name>/databases.它适用于所有根或不根的设备.
根据http://developer.android.com/reference/android/content/Context.html#getDatabasePath(java.lang.String)上的Android文档,您应该使用context.getDatabasePath.
适合我:
File dbFile = context.getDatabasePath(name_of_database_file);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27410 次 |
| 最近记录: |