我正在尝试使用我的Android应用程序包含预先填充的数据库。当我声明常量路径eclipse错误并说'#34;不要硬编码" / data /"请改用Context.getFilesDir()。getPath()。"
我以为我应该声明如下的路径 private static final String DATABASE_PATH =" /data/data/com.me.thisapp" ;;
我的sqlite数据库位于我的资产文件夹中。
答案 0 :(得分:0)
我正在尝试使用我的Android应用程序包含预先填充的数据库
我以为我应该声明路径如下私有静态最终字符串DATABASE_PATH =“/ data / data / com.me.thisapp”;
没有。例如,对于Android 4.2+平板电脑上的第二个及后续帐户,这将是错误的。
答案 1 :(得分:0)
当然,硬编码路径是一个坏主意。
我建议您使用这个小型库SQLiteAssetHelper
(https://github.com/jgilfelt/android-sqlite-asset-helper)以简单的方式管理预先填充的数据库和数据库升级。
如果您仍想自己动手,至少使用ApplicationInfo.dataDir
属性。类似的东西:
String databasePath = context.getApplicationInfo().dataDir + "/databases/" + DB_NAME;