私はこのコードを持っています:
DatabaseHandler db = new DatabaseHandler(this);
System.out.println("Start - " + System.currentTimeMillis());
for (int i = 1; i < db.getChampsCount() + 1; i++) {
String name = db.getChampInfo(i, "name");
String title = db.getChampInfo(i, "title");
String thumb = db.getChampInfo(i, "thumb");
System.out.println("End - " + System.currentTimeMillis());
[...]
}
この
String getChampInfo(int id, String col) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT " + col + " FROM champions WHERE id = " + id, new String[] {});
if (cursor != null)
cursor.moveToFirst();
db.close();
return cursor.getString(0);
}
DatabaseHelper クラスの一部です
問題なく動作しますが、問題は実行に時間がかかりすぎることです (私の Android フォンでは 2089ms)。これらの文字列は UI の一部なので、別のスレッドに入れることはできないと思います。このコードをより速く実行するにはどうすればよいですか?
編集:正確に110行あります