第二部分基本组件---2.1SQLite部分应用-自定义database中取出数据,listView做界面显示示例
来源:互联网 发布:反向域名解析 阿里云 编辑:程序博客网 时间:2024/06/06 13:00
public final String DB_NAME= "derekTest.db";
public final String TABLE_NAME= "table1";
private final String TABLE_ID="_id";
public final String TITLE= "title";
public final String BODY= "body";
class DBHelper extends SQLiteOpenHelper
{
public DBHelper(Context context, String name, CursorFactory factory,int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String sql = "CREATE TABLE " + TABLE_NAME + " (" + TABLE_ID + " INTEGER PRIMARY KEY, " + TITLE+ " text not null, " + BODY + " text not null " + ");";
String sql1 = "insert into "+ TABLE_NAME+" ("+TABLE_ID+", "+TITLE+", "+BODY+") values('1','hellokitty','stronger');";
String sql2 = "insert into "+ TABLE_NAME+" ("+TABLE_ID+", "+TITLE+", "+BODY+") values('2','micky','weaker');";
db.execSQL(sql);
db.execSQL(sql1);
db.execSQL(sql2);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
利用SQLiteOpenHelper的子类对象生成数据库和表的时候,一定要定义一个“_id”的主键,不然系统运行会报错,生成的sqlite数据库的路径在ddms中可以查看data/data目录里可以倒出来后利用sqlitespy软件查看表里的数据。
Listview设置Adapter和显示的代码如下:
ListView ls = (ListView)this.findViewById(R.id.listview1);
Cursor cursor=getData();
SimpleCursorAdapter sca = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_2,cursor,new String[]{TITLE ,BODY},new int[]{android.R.id.text1,android.R.id.text2 });
ls.setAdapter(sca);
getData()方法如下:
public Cursor getData()
{
SQLiteDatabase sdb = db.getWritableDatabase();
String[] col = {TABLE_ID,TITLE,BODY};
Cursor cursor=sdb.query(TABLE_NAME, col, null, null, null, null, null);
cursor.moveToFirst();
return cursor;
}
在xml文件中定义一个listview控件,得到数据库对象后对表进行查询返回cursor对象,生成simplecursorAdapter对象,其中布局方式用的系统自带的布局android.R.layout.simple_list_item_2,后面两个参数表示取查询结果里的title,body数据列数据,放到id为text1和text2的系统布局里的textview里面去
- 第二部分基本组件---2.1SQLite部分应用-自定义database中取出数据,listView做界面显示示例
- 第二部分基本组件---2.1SQLite数据库基本使用
- 第二部分基本组件----2.3SharedPreferences使用
- 第二部分基本组件---2.4BroadCastReceiver用法
- JSF2自定义组件编程系列 第二部分
- 第二部分基本组件---2.2ContentProvider和ContentResolver配合使用
- JDK源码-java.lang.instrument-第二部分-应用示例
- 自定义BannerView,显示下个一个view部分界面
- 固定表头,表数据部分做滚动条显示
- AOP第二部分应用-事务管理
- vc6.0 提取*.lst文件,中函数地址,数据地址,应用实例 红色部分显示
- html页面中,表格数据可以固定表头,表数据部分做滚动条显示,如何实现
- Day07-Android中SQLite数据存储,ListView的基本使用
- 组件类——第二部分
- swt 做界面时部分要点
- Android开发:setContentView切换界面,自定义带CheckBox的ListView显示SQlite条目-----实现
- setContentView切换界面,自定义带CheckBox的ListView显示SQlite条目
- CodeIgniter中autoload('database')源码部分
- 莫法特休息法
- 分治算法?
- wincap4.11在vc6下编译出现_W64错误【解决方法】
- Android Market 注册成功
- C# 中的句柄(Google资料)
- 第二部分基本组件---2.1SQLite部分应用-自定义database中取出数据,listView做界面显示示例
- 浏览器的盒子模型 Box Model
- VS2010几大鲜为人知的功能
- I have an appointment with Mr. Brown at 10'oclock.
- 一个本科毕业生的Java学习之路
- 如何关注别人的 CSDN Blog
- 【QTP自动化测试(三)】鼠标点击桌面任意坐标
- VsFlexGrid点滴
- test2