android SQLiteDatabase
16lz
2021-01-26
转载地址: http://blog.sina.com.cn/s/blog_6fff321b0100onw8.html
SQLiteDatabase
[功能]
SQLiteDatabase 是关于数据库操作的 可用于 insert delete update query等操作可惜美中不足的是:
1. 其不支持创建数据库
2. 其不支持版本更新 或者说其不知道如何做 因为具体数据的差异
鉴于以上的缺陷 有一个辅助类可以完成上面功能 那就是:SQLiteOpenHelper
[代码]
1. 定义SQLiteOpenHelper 并完成 创建 更新 功能
- publicclassDBHelperextendsSQLiteOpenHelper{
- publicstaticfinalStringTB_NAME="mycountry";
- publicstaticfinalStringID="_id";
- publicstaticfinalStringCOUNTRY="country";
- publicstaticfinalStringCODE="code";
- publicDBHelper(Contextcontext,Stringname,
- CursorFactoryfactory,intversion){
- super(context,name,factory,version);
- }
- publicvoidonCreate(SQLiteDatabasedb){
- db.execSQL("CREATETABLEIFNOTEXISTS"
- +TB_NAME+"("
- +ID+"INTEGERPRIMARYKEY,"
- +COUNTRY+"VARCHAR,"
- +CODE+"INTEGER)");
- }
- publicvoidonUpgrade(SQLiteDatabasedb,
- intoldVersion,intnewVersion){
- //TODO删除数据库之前 做数据备份
- db.execSQL("DROPTABLEIFEXISTS"+TB_NAME);
- onCreate(db);
- }
- }
2. 从SQLiteOpenHelper 得到SQLiteDatabase的实例
- DBHelperhelper=newDBHelper(this,DB_NAME,null,VERSION);
- SQLiteDatabasedb=helper.getWritableDatabase();
3. SQLiteDatabase 的一些操作:
* 插入数据:
- ContentValuesvalues=newContentValues();
- values.put(DBHelper.COUNTRY,"中国");
- values.put(DBHelper.CODE,86);
- db.insert(DBHelper.TB_NAME,DBHelper.ID,values);
* 改动数据
- db.insert(DBHelper.TB_NAME,DBHelper.ID,null);
- values.clear();
- values.put(DBHelper.COUNTRY,"意大利");
- values.put(DBHelper.CODE,39);
- db.update(DBHelper.TB_NAME,values,DBHelper.ID+"=2",null);
* execSQL 执行SQL语言
- db.execSQL("INSERTINTO"
- +DBHelper.TB_NAME+"("
- +DBHelper.COUNTRY+","
- +DBHelper.CODE+")VALUES"
- +"('洪都拉斯',504)");
* 查询数据
- Cursorc=db.query(DBHelper.TB_NAME,null,null,null,null,null,
- DBHelper.CODE+"DESC");
* 删除数据所有数据
- db.delete(DBHelper.TB_NAME,null,null);
数据库的生成 调用 getWiterAbleDatabase getReadAbleDatabase生成数据库i
android 嵌入式数据库 为单用户数据库 所以 可以不调用db.close()来关闭数据库这样反而可以提高性能
更多相关文章
- 一句话锁定MySQL数据占用元凶
- Android简单实现BroadCastReceiver广播机制
- Android(安卓)的第三方报表组件,AChartEngine 案列demo
- Android(安卓)DataBinding使用总结(二)
- Android(安卓)Arrayadapter 获得数据方法
- Json数据解析
- 详解Android数据存储―使用SQLite数据库
- android为listView添加表头
- 使用Android手机APP查看ROS中RGB摄像头数据