0

我在我的 android 应用程序中创建了我的数据库,但现在我必须用一些数据预先填充它。问题是它有很多数据要放入数据库。有没有办法从文件 .txt 或外部文件 .db 预填充数据库?

4

4 回答 4

2

您可以将数据作为 scv 文件附加到您的应用程序(或从 www 下载),然后解析它们并插入 db 助手的 OnCreate 方法。

public void onCreate(SQLiteDatabase database) {
        // create database file
        database.execSQL(DB_CREATE);

        // load data
        AssetManager assetManager = context.getAssets();
        try {
                InputStream inputStream = assetManager.open("radars_test.csv");
                InputStreamReader streamReader = new InputStreamReader(inputStream);
                BufferedReader bufferedReader = new BufferedReader(streamReader);
                String line;
                String[] values;
                while ((line = bufferedReader.readLine()) != null) {
                        values = line.split(";");
                        String speedLimit = (line.length() == 3 ? values[2] : "0");
                        String insertCommand = String
                                        .format("insert into geofences(longitude, latitude, speed_limit, type, radius, description) values(\"%s\", \"%s\", %s, 0, 200, \"%s\")",
                                                        values[0], values[1], speedLimit, values[3]);
                        database.execSQL(insertCommand);

                }

        } catch (IOException e) {
                Log.e("TBCAE", "Failed to open data input file");
                e.printStackTrace();
        }
}

.csv 文件必须放在 assets 目录中

于 2013-07-25T20:44:10.637 回答
0

你没有说你实际上有什么格式,但是是的,很有可能。使用 destkop SQLite 编辑器并导入 CSV 文件(例如)。大多数 SQLite 编辑器都支持这一点。

然后只需将 .db3 文件复制到您的项目中。

我用这个:

http://sqlitebrowser.sourceforge.net/

另外,请阅读此http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

于 2013-07-25T20:22:29.513 回答
0

很棒的帖子在这里。我收藏了很久。

http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

我想它会回答你所有的问题。

于 2013-07-25T20:51:41.730 回答
0

最好的方法是使用诸如SQLite Manager for Firefox之类的管理器自行创建数据库。该管理器允许您将带有数据的 Excel 文件(实际上是 CSV)导入数据库。之后,您应该将数据库存储在应用程序的原始文件夹中。然后,您应该创建一个 DataAdapter 来使用游标检索数据。如果您想了解更多详细信息,请随时询问。祝你好运。

于 2013-07-25T21:35:34.417 回答