ループを使用せずにすべてのレコードを取得するにはどうすればよいですか。ループは1000以上のレコードを取得するための良い方法ではありません。
例えば:
public List<Contact> getAllContacts() {
List<Contact> contactList = new ArrayList<Contact>();
String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
Contact contact = new Contact();
contact.setID(Integer.parseInt(cursor.getString(0)));
contact.setName(cursor.getString(1));
contact.setPhoneNumber(cursor.getString(2));
// Adding contact to list
contactList.add(contact);
} while (cursor.moveToNext());
}
return contactList;
しかし、これはそうするための最良の方法ではありません。5000以上のレコードがあると考えてください。このタスクを完了するのにどれくらいの時間がかかりますか。
あなたはどのように思いますか ?
よろしく、