在android中将大的初始数据插入sqlite数据库

时间:2014-01-27 17:15:49

标签: android sqlite

我的应用程序将包含一个大数据库,那么如何插入数据?我想在PC上执行此操作,然后将其放入应用程序中,因为它包含大量数据。

我已看到帖子insert initial data to sql lite android / adding your own SQLite database to an android application / Ship an application with a database 但我不明白或者我不确定它是最好的方式。

2 个答案:

答案 0 :(得分:1)

如果您有大量数据ship prepared database的选项是最好的选项。首次启动时,启动时间将缩短。毕竟,这是最简单的。

答案 1 :(得分:1)

您可以将数据库包含资源中所需的所有数据,然后使用此值启动应用程序。

  1. 首先,您需要在项目中创建“资产”文件夹
  2. 创建自己的数据库助手(扩展SQLiteOpenHelper)
  3. 然后你将实现一个“复制”方法,类似于:

    private void copyDatabase(String dbname,Context context)抛出IOException {

        InputStream is = context.getAssets().open(dbname);
        String outFileName = DB_PATH + dbname;
        OutputStream out = new FileOutputStream(outFileName);
        byte[] buffer = new byte[1024];
        int length;
        while ((length = is.read(buffer)) > 0) {
            out.write(buffer, 0, length);
        }
        is.close();
        out.flush();
        out.close();
    }
    
相关问题