0

我正在尝试在我的 android 应用程序中包含一个预先填充的数据库。当我声明常量路径 eclipse 错误并说“不要硬编码”/data/”时,请改用 Context.getFilesDir().getPath()。”

我想我应该像下面这样声明路径 private static final String DATABASE_PATH = "/data/data/com.me.thisapp";

我的 sqlite 数据库位于我的资产文件夹中。

4

2 回答 2

0

我正在尝试在我的 android 应用程序中包含一个预先填充的数据库

我建议您使用SQLiteAssetHelper它。

我想我应该像下面这样声明路径 private static final String DATABASE_PATH = "/data/data/com.me.thisapp";

不可以。例如,这对于 Android 4.2+ 平板电脑上的第二个和后续帐户是错误的。

于 2013-10-11T21:02:56.670 回答
0

当然,硬编码路径是个坏主意。

我建议您使用这个小型库SQLiteAssetHelperhttps://github.com/jgilfelt/android-sqlite-asset-helper)以简单的方式管理预填充的数据库和数据库升级。

如果您仍然想自己做,至少使用该ApplicationInfo.dataDir属性。就像是:

String databasePath = context.getApplicationInfo().dataDir + "/databases/" + DB_NAME;
于 2013-10-11T21:09:42.307 回答