SimpleCursorAdapter使用代码
1 package com.kale.cursoradapter; 2 3 import android.app.Activity; 4 import android.database.Cursor; 5 import android.os.Bundle; 6 import android.widget.ListView; 7 import android.widget.SimpleCursorAdapter; 8 9 public class MainActivity extends Activity { 10 11 DatabaseManager dbManager; 12 13 @Override 14 protected void onCreate(Bundle savedInstanceState) { 15 super.onCreate(savedInstanceState); 16 setContentView(R.layout.activity_main); 17 //得到一个数据层操作对象 18 dbManager = new DatabaseManager(this); 19 //因为在数据库建立的时候我们已经建立一个表了,所以这里就可以直接插入数据了 20 String insertSql = "insert into test_table (name,age) values('kale',20)"; 21 //用循环的方式来插入20条数据 22 for (int i = 0; i < 20; i++) { 23 dbManager.executeSql(insertSql); 24 } 25 26 // 这个游标查询到的数据中必须有一个列名为_id否则会报错,所以写sql语句的时候必须要查到_id。显不显示这个id到无所谓 27 String sql = "select _id,name,age from test_table"; 28 29 //得到一个Cursor,这个将要放入适配器中 30 Cursor cursor = dbManager.executeSql(sql, null); 31 // 最后一个参数flags是一个标识,标识当数据改变调用onContentChanged()的时候,是 32 // 否通知ContentProvider数据的改变,如果无需监听ContentProvider的改变,则可以传0。 33 SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 34 R.layout.item, cursor, new String[] { "name", "age" }, 35 new int[] { R.id.name, R.id.age }, 0); 36 37 ListView listView = (ListView) findViewById(R.id.listView); 38 listView.setAdapter(adapter); 39 } 40 41 }
注意:这里查询到的数据中必须有一列是_id,否则会报错。所以在建表的时候就应该建立这一列。