我正在尝试在我的 android 应用程序中包含一个预先填充的数据库。当我声明常量路径 eclipse 错误并说“不要硬编码”/data/”时,请改用 Context.getFilesDir().getPath()。”
我想我应该像下面这样声明路径 private static final String DATABASE_PATH = "/data/data/com.me.thisapp";
我的 sqlite 数据库位于我的资产文件夹中。
我正在尝试在我的 android 应用程序中包含一个预先填充的数据库。当我声明常量路径 eclipse 错误并说“不要硬编码”/data/”时,请改用 Context.getFilesDir().getPath()。”
我想我应该像下面这样声明路径 private static final String DATABASE_PATH = "/data/data/com.me.thisapp";
我的 sqlite 数据库位于我的资产文件夹中。
我正在尝试在我的 android 应用程序中包含一个预先填充的数据库
我建议您使用SQLiteAssetHelper
它。
我想我应该像下面这样声明路径 private static final String DATABASE_PATH = "/data/data/com.me.thisapp";
不可以。例如,这对于 Android 4.2+ 平板电脑上的第二个和后续帐户是错误的。
当然,硬编码路径是个坏主意。
我建议您使用这个小型库SQLiteAssetHelper
(https://github.com/jgilfelt/android-sqlite-asset-helper)以简单的方式管理预填充的数据库和数据库升级。
如果您仍然想自己做,至少使用该ApplicationInfo.dataDir
属性。就像是:
String databasePath = context.getApplicationInfo().dataDir + "/databases/" + DB_NAME;