public List<Contact> getAllContacts() {
List<Contact> contactList = new ArrayList<Contact>();
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
Contact contact = new Contact();
contact.setID(Integer.parseInt(cursor.getString(0)));
contact.setPerkara(cursor.getString(1));
contact.setTarikhKejadian(cursor.getString(2));
contact.setMasaMula(cursor.getString(3));
contact.setMasaAkhir(cursor.getString(4));
// Adding contact to list
contactList.add(contact);
} while (cursor.moveToNext());
}
// return contact list
return contactList;
}
这是我用来调用SQLite
的数据。数据在那里。但我不知道如何调用它并将数据放入列表视图中。android查看数据库中的数据到列表视图
我在我的java程序中使用List<Contact> contacts = db.getAllContacts();
,然后我坚持这个例子我只显示如何看到日志中的数据。
我应该用什么方法调用数据库中的数据并在列表视图中查看它?
你必须使用适配器将数据与列表视图绑定。可以是自定义适配器,也可以是SimpleAdapter等某些Android类。 http://developer.android.com/reference/android/widget/SimpleAdapter.html –
按照一些教程,这不是很难http://mobilecoder.wordpress.com/2010/02/11/understanding-simplecursoradapter-parameters/和http://www.thepcwizard.in/2012/09/android-creating-custom-listview-for.html – ThePCWizard
listTarikh =(ListView)this.findViewById(R.id.listTarikh); 列表 contacts = db.getAllContacts(); String [] from = new String [] {DatabaseHandler.KEY_ID,DatabaseHandler.KEY_PH_NO,DatabaseHandler.KEY_NAME,DatabaseHandler.KEY_MASAMULA,DatabaseHandler.KEY_MASAAKHIR}; int [] target = new int [] {R.id.listTarikh}; ListAdapter adb = new SimpleCursorAdapter(this,R.layout.senarai,contacts,from,target); listTarikh.setAdapter(adb); 它给简单光标适配器上的错误.. –
chyreel