【问题标题】:Android | Pre Populated datebase path安卓 |预填充的数据库路径
【发布时间】:2013-10-11 20:49:34
【问题描述】:

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

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

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

【问题讨论】:

    标签: android android-sqlite


    【解决方案1】:

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

    为此,我建议您use SQLiteAssetHelper

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

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

    【讨论】:

    • 我在 youtube.com/watch?v=A-cIZoSa5bA 上按照教程进行操作,所以我不应该使用 IngredientHelper?
    • @UPGRAYEDD:哦,你会想要一个IngredientHelper。它会简单地从SQLiteAssetHelper 继承,并且只需要很少的代码。
    【解决方案2】:

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

    我建议您使用这个小型库 SQLiteAssetHelper(https://github.com/jgilfelt/android-sqlite-asset-helper) 来轻松管理预填充的数据库和数据库升级。

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

    String databasePath = context.getApplicationInfo().dataDir + "/databases/" + DB_NAME;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-29
      • 1970-01-01
      • 2021-01-26
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多