ユーザーが初めてアプリをダウンロードすると、アプリは約 100,000 行のデータを含む CSV ファイルをダウンロードします。
次に、SQLite データベースにデータを入力したいと思います。
これが私のコードです:
InputStream inputStream = activity.openFileInput(file);
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line = null;
dbHelper.beginTransaction();
while((line = bufferedReader.readLine()) != null) {
String[] values = line.replaceAll("'", "''").split(",");
dbHelper.insert(values);
}
dbHelper.setTransactionSuccessful();
dbHelper.endTransaction();
dbHelper.close();
私の DBHelper クラスでは、メソッドの挿入は次のとおりです。
public void insert(String[] data) {
ContentValues values = new ContentValues();
values.put(DBHelper.SHAPE_ID, data[0]);
values.put(DBHelper.SHAPE_PT_LAT, data[1]);
values.put(DBHelper.SHAPE_PT_LON, data[2]);
values.put(DBHelper.SHAPE_PT_SEQUENCE, data[3]);
myDB.insert(DBHelper.TABLE_SHAPES, null, values);
}
私はこのコードを試してみましたが、うまくいきましたが、それを行うのに7分かかりました...私は何か間違ったことをしていますか? SQLite データベースを作成するためのより良い方法 (より速く読む) はありますか?