루프를 사용하지 않고 모든 레코드를 가져 오는 방법은 무엇입니까? 루프는 1000 개 이상의 레코드를 얻는 좋은 방법이 아닙니다. 예를 들어android에서 전체 sqlite 레코드 얻기
:
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;
그러나이되지는이 작업을 완료하기 위해 수행 않습니다 record.How 많은 시간 지금도, 좋 당신이 5000이 할 수있는 최선의 방법입니다!
어떻게 생각하십니까?
감사합니다,
ListList (대신 ArrayAdapter)에 CursorAdapter를 사용하고 POJO에 데이터를로드하지 마십시오 ... 목록이 더 빠르지 만 (많이) – Selvin