Android 数据存储(三)之数据库存储
来源:互联网 发布:云计算应用实例 编辑:程序博客网 时间:2024/05/23 19:09
Android内部有自己的数据库,Android也为我们提供了一个操作数据库的辅助类-SQLiteOpenHelper。使用这个类可以完成数据库的创建和升级。
1.创建数据库
在创建数据库之前,先自己定义一个类,继承SQLiteOpenHelper,用于程序中操作数据库。代码如下:
public class DbHelper extends SQLiteOpenHelper { private static final String CREATE_PERSON_TABLE = "create table tb_person (" + "id integer primary key autoincrement, " + "name varchar(16), " + "info text)"; private Context mContext; public DbHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); // TODO Auto-generated constructor stub mContext = context; } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL(CREATE_PERSON_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub }}
在主Activity的onCreate中添加函数createDB来创建数据库:
private void createDB() { // TODO Auto-generated method stub mDbHelper = new DbHelper(this, "person.db", null, 1); mDbHelper.getWritableDatabase();}
点击运行程序,验证数据库是否已经生成,这要借助Android自带的一个工具-sqlite3.exe。它在sdk\platform-tools目录下。在cmd窗口中进入该目录。执行sqlite3 person.db;就可以进入数据库了,执行.table可以查看数据库里面的表。
2.插入数据
添加插入按钮和事件响应。
Button insert = (Button) findViewById(R.id.insert);insert.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub SQLiteDatabase db = mDbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", "malion"); values.put("info", "i am a ma nong!!!"); db.insert("tb_person", null, values); }});
运行程序,点击按钮之后,在cmd窗口执行select * from tb_person;就可以看到我们输入的数据了。
3.更新数据
添加更新按钮和事件响应。
Button update = (Button) findViewById(R.id.update);update.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub SQLiteDatabase db = mDbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("info", "i am a malion!!!"); db.update("tb_person", values, "name = ?", new String[] { "malion" }); }});
运行程序,点击按钮之后,在cmd窗口执行select * from tb_person;就可以看到我们更新的数据了。
4.删除数据
添加删除按钮和事件响应。
Button delete = (Button) findViewById(R.id.delete);delete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub SQLiteDatabase db = mDbHelper.getWritableDatabase(); db.delete("tb_person", "name = ?", new String[] { "malion" }); }});
运行程序,点击按钮之后,在cmd窗口执行select * from tb_person;就可以看到我们删除的数据了。
5.查找数据
添加删除按钮和事件响应。
Button select = (Button) findViewById(R.id.select);select.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub SQLiteDatabase db = mDbHelper.getWritableDatabase(); Cursor cursor = db.query("tb_person", null, null, null, null, null, null); if (cursor != null) { while (cursor.moveToNext()) { String name = cursor.getString(cursor .getColumnIndex("name")); String info = cursor.getString(cursor .getColumnIndex("info")); Log.i("info", "name: " + name + "info: " + info); } cursor.close(); } }});
运行程序,点击按钮之后,查看Logcat:
6.数据库更新
先要对数据库的版本进行更新,在创建的时候最后一个参数就是数据库的版本,现在设置为2.
private void createDB() { // TODO Auto-generated method stub mDbHelper = new DbHelper(this, "person.db", null, 2); mDbHelper.getWritableDatabase();}
然后在DbHelper的onUpgrade中添加数据库更新要进行的操作。
private static final String CREATE_USER_TABLE = "create table tb_user (" + "id integer primary key autoincrement, " + "name varchar(16), " + "info text)";@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub if (newVersion > oldVersion) { switch (oldVersion) { case 1: db.execSQL(CREATE_USER_TABLE); default: break; } }}
运行程序,点击按钮之后,在cmd窗口执行.table;就可以看到新建的表了。
- Android 数据存储(三)之数据库存储
- android数据存储(三)之使用SQLlite数据库存储
- android数据存储(三)之使用SQLlite数据库存储
- Android 数据存储(三) 数据库存储
- Android 数据存储(三) 数据库存储
- Android(三)数据存储之三SQLite嵌入式数据库
- Android数据存储之SQLite数据库存储
- Android数据存储之SQLite数据库存储
- Android数据存储之SQLite数据库存储
- Android数据存储之:SQLite数据库存储
- android数据存储之数据库存储技术
- Android 数据存储之SQLite数据库存储
- Android数据存储之使用数据库存储
- Android数据存储之SQLite数据库存储
- android数据存储之数据库
- Android数据存储之数据库
- 【Android 开发】:数据存储之 SQLite 数据库操作(三)
- 数据存储之三SQLite嵌入式数据库
- Oracle SQL Plus常见技巧
- Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用
- Linux指令学习(CentOs6.5)tail指令
- Swift-Charts 多种样式图表演示
- CGImageCreateWithImageInRect图片裁剪问题
- Android 数据存储(三)之数据库存储
- 应用系统之间数据传输的几种方式(转载)
- Hibernate深入学习(四):类级别的检索策略
- showModalDialog 4096限制,字符串参数突破方法
- shell脚本(一):变量的引用
- URL Scheme
- iOS 常写在pch中的设备区分
- sort uniq cut wc命令
- oracle常用函数