转载地址: http://blog.sina.com.cn/s/blog_6fff321b0100onw8.html

SQLiteDatabase

[功能]

SQLiteDatabase 是关于数据库操作的 可用于 insert delete update query等操作可惜美中不足的是:

1. 其不支持创建数据库

2. 其不支持版本更新 或者说其不知道如何做 因为具体数据的差异

鉴于以上的缺陷 有一个辅助类可以完成上面功能 那就是:SQLiteOpenHelper

[代码]

1. 定义SQLiteOpenHelper 并完成 创建 更新 功能

  1. publicclassDBHelperextendsSQLiteOpenHelper{
  2. publicstaticfinalStringTB_NAME="mycountry";
  3. publicstaticfinalStringID="_id";
  4. publicstaticfinalStringCOUNTRY="country";
  5. publicstaticfinalStringCODE="code";
  6. publicDBHelper(Contextcontext,Stringname,
  7. CursorFactoryfactory,intversion){
  8. super(context,name,factory,version);
  9. }
  10. publicvoidonCreate(SQLiteDatabasedb){
  11. db.execSQL("CREATETABLEIFNOTEXISTS"
  12. +TB_NAME+"("
  13. +ID+"INTEGERPRIMARYKEY,"
  14. +COUNTRY+"VARCHAR,"
  15. +CODE+"INTEGER)");
  16. }
  17. publicvoidonUpgrade(SQLiteDatabasedb,
  18. intoldVersion,intnewVersion){
  19. //TODO删除数据库之前 做数据备份
  20. db.execSQL("DROPTABLEIFEXISTS"+TB_NAME);
  21. onCreate(db);
  22. }
  23. }

2. 从SQLiteOpenHelper 得到SQLiteDatabase的实例

  1. DBHelperhelper=newDBHelper(this,DB_NAME,null,VERSION);
  2. SQLiteDatabasedb=helper.getWritableDatabase();

3. SQLiteDatabase 的一些操作:

* 插入数据:

  1. ContentValuesvalues=newContentValues();
  2. values.put(DBHelper.COUNTRY,"中国");
  3. values.put(DBHelper.CODE,86);
  4. db.insert(DBHelper.TB_NAME,DBHelper.ID,values);

* 改动数据

  1. db.insert(DBHelper.TB_NAME,DBHelper.ID,null);
  2. values.clear();
  3. values.put(DBHelper.COUNTRY,"意大利");
  4. values.put(DBHelper.CODE,39);
  5. db.update(DBHelper.TB_NAME,values,DBHelper.ID+"=2",null);

* execSQL 执行SQL语言

  1. db.execSQL("INSERTINTO"
  2. +DBHelper.TB_NAME+"("
  3. +DBHelper.COUNTRY+","
  4. +DBHelper.CODE+")VALUES"
  5. +"('洪都拉斯',504)");

* 查询数据

  1. Cursorc=db.query(DBHelper.TB_NAME,null,null,null,null,null,
  2. DBHelper.CODE+"DESC");

* 删除数据所有数据

  1. db.delete(DBHelper.TB_NAME,null,null);

数据库的生成 调用 getWiterAbleDatabase getReadAbleDatabase生成数据库i

android 嵌入式数据库 为单用户数据库 所以 可以不调用db.close()来关闭数据库这样反而可以提高性能

更多相关文章

  1. 一句话锁定MySQL数据占用元凶
  2. Android简单实现BroadCastReceiver广播机制
  3. Android(安卓)的第三方报表组件,AChartEngine 案列demo
  4. Android(安卓)DataBinding使用总结(二)
  5. Android(安卓)Arrayadapter 获得数据方法
  6. Json数据解析
  7. 详解Android数据存储―使用SQLite数据库
  8. android为listView添加表头
  9. 使用Android手机APP查看ROS中RGB摄像头数据

随机推荐

  1. 从作坊到工厂:传统企业 DevOps 改造历程
  2. 赵成:蘑菇街 DevOps 实践和转型之路
  3. 基于ssm的客户管理系统
  4. php导出csv文件
  5. phpstorm好插件
  6. H5和HTML5的区别
  7. PHP 将一位数组进行倒序排列
  8. PHP通用curl网络请求方法(http/https/hea
  9. 请确定所有请求的文件系统驱动程序已加载
  10. MySQL 查询语句执行顺序以及On与Where条