package com.google.mcommerce.sample.android.chapter07.sqlite; import android.app.ListActivity; import android.database.Cursor; import android.os.Bundle; import android.view.View; import android.widget.SimpleCursorAdapter; import com.google.mcommerce.sample.android.R; public class SQLiteActivity extends ListActivity { private ContactsDataSource datasource; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.c07_sqlite); datasource = new ContactsDataSource(this); datasource.open(); Cursor values = datasource.getAllContacts(); // Use the SimpleCursorAdapter to show the // elements in a ListView String[] from = { MySQLiteHelper.COLUMN_NAME, MySQLiteHelper.COLUMN_EMAIL }; int[] to = { android.R.id.text1, android.R.id.text2 }; SimpleCursorAdapter adapter = new SimpleCursorAdapter( this.getApplicationContext(), android.R.layout.simple_list_item_2, values, from, to); // ArrayAdapter<Contact> adapter = new ArrayAdapter<Contact>(this, // android.R.layout.simple_list_item_1, values); setListAdapter(adapter); } // Will be called via the onClick attribute // of the buttons in main.xml public void onClick(View view) { @SuppressWarnings("unchecked") SimpleCursorAdapter adapter = (SimpleCursorAdapter) getListAdapter(); Cursor cursor = null; switch (view.getId()) { case R.id.add: cursor = datasource.insertContact("Tom", "tom@gmail.com"); break; case R.id.delete: if (getListAdapter().getCount() > 0) { cursor = (Cursor) adapter.getItem(0); cursor = datasource.deleteContact(cursor); } break; } adapter.changeCursor(cursor); } @Override protected void onResume() { datasource.open(); super.onResume(); } @Override protected void onPause() { datasource.close(); super.onPause(); } }