【问题标题】:adding hundreds of entries to SQLite Table Android [duplicate]将数百个条目添加到 SQLite Table Android [重复]
【发布时间】:2012-11-04 15:32:58
【问题描述】:

可能重复:
Bulk Insertion on Android device

所以我想为我的 android 应用程序在 sqlite 数据库表中添加大约 300 个条目。我想快速有效地做到这一点,而不会给用户带来明显的延迟。我手头有一个要添加的项目列表(此列表不会动态更改)。我应该创建一个 arryalist,然后遍历该列表以添加条目,还是应该为我要添加的每个条目字符串运行这样的方法?:

public long creatSQLEntry(String name){
    ContentValues cv = new ContentValues();
    cv.put(COLUMN_STUFF, name);
    return myDatabase.insert(MY_Table, null, cv);
}

我认为上面的代码不是最有效的方法。有人知道怎么做吗?一些示例代码会很棒,但不是必须的。

【问题讨论】:

  • 每个用户的数据是否不同?你会从互联网上检索它并在这样做之后插入它吗?如果您对这两个问题的回答都是否定的,请考虑在您的应用中传递一个预填充的数据库,然后将其移动到正确的位置。
  • NinetwoZero,有关如何正确轻松地完成此操作的文档在哪里?

标签: java android sql performance sqlite


【解决方案1】:

Compile the statements 并使用transaction 以编程方式插入所有行。我为静态数据库执行此操作,速度非常快。

【讨论】:

    【解决方案2】:

    您可以在桌面上准备数据库,然后在初始加载时将数据库复制到私有数据库文件夹。

    http://zaman91.wordpress.com/2010/09/22/android-how-to-use-own-sqlite-database/

    【讨论】:

    • 我认为这是一个 hackish 解决方案,如果 android_metadata 或数据库路径发生变化,它很容易被破坏。我不会推荐这个。
    【解决方案3】:

    如果这个数据列表是不变的,我会再看看数据库设计。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      • 2017-05-29
      • 2015-03-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-30
      • 2014-11-23
      相关资源
      最近更新 更多