SQLite的小例子--备忘录

来源:未知 责任编辑:责任编辑 发表时间:2014-01-20 07:51 点击:

1. Android Intents
1.1. Android中的SQLite
SQLite是一个嵌入在Android中的开源数据库。SQLite支持标准的关系型数据库特征,比如SQL语法,事务和预处理语句。另外它在运行时只需要很少的内存(大约250KByte)
在Android中使用SQLite不需要任何数据库的安装或管理(不需要数据库管理员)。你可以指定SQL来使用数据库工作,并且数据库会为你自动管理。
在Android中使用数据库工作可以减缓由于必要的I/O操作,因此它建议在AsyncTask中执行这项任务。
数据库支持的数据类型:
TEXT 类似JAVA中的String
INTEGER 类似JAVA中的long
REAL 类似JAVA中的double
在将这些数据保存到数据库之前,所有其他的类型都必须转换成这些类型。实际上SQLite本身不验证写入列中的类型定义,你可以写一个整数到字符串列上。
      如果您的应用程序创建一个数据库,这个数据库时保存在目录
”data/data/<项目包名>/databases/数据库名”。这里的第一个data目录的路径就是
Environment.getDataDirectory()的返回值。Environment.getDataDirectory()通常返回SD卡中的位置
一个SQLite数据库相对于创建它的应用程序是私有的,如果你想将数据分享给其他应用程序,可以使用ContentProvider
1.2. SQLiteOpenHelper
在你的应用程序中通过使用子类SQLiteOpenHelper来创建和更新一个数据库,在这个类中,在数据库模式变化的情况下,你需要重写onCreate()方法来创建数据库和重写onUpdate()方法来更新数据库。这两种方法都需要接收一个SQLiteOpenHelper对象。
      SQLiteOpenHelper提供方法getReadableDatabase()和getWriteableDatabase()方法来获得一个SQLiteDatabase对象,在对象可以允许访问数据库,而不管是在读或写的模式下。
      对于数据库的主键,你应该一直使用标识符”_id”来作为数据库主键,在Android的一些方法中最好依赖这个标准。
      SQLiteDatabase提供方法insert()、update()、delete()和可以直接执行SQL的
execSQL()方法,对象ContentValues允许为insert和update定义键值,键就是列,值就是该列对应的值。
1.3. SQLiteDatabase和Cursor(游标)
我们可以通过创建rawQuery()方法通过接收SQL查询数据,或者通过query()方法,该方法提供了一个指定动态数据或SQLiteQueryBuilder的接口。SQLiteBuilder类似内容提供者的接口,因此通常用于ContentProvider中。查询通常返回的是一个游标(Cursor)
查询方法有如下一些参数:
query(String dbName,int[] columnNames,String whereClause, String[] valuesForWhereClause, String[] groupBy, String[] having, String[] orderBy)。
如果所有的参数都要选择的话,可以将那些不需要的字句设置为null,比如where的地方设置为null,当然还可以在where的地方填入其他值(如果需要的话),比如
“_id=18 and summary=?”。如果需要几个值呢?你可以通过在valuesForWhereClause数据来查询。一般来说,如果不需要的话,可以填入null,比如groupby字句。
一个游标就代表查询结果。要过的元素的数量,可以使用getCount()方法。要一在单个数据行与行之间移动数据,可以通过moveToFirst()和MoveToNext()方法。通过isAfterLast()方法,可以检查下面是否还有数据。
在ListView中可以通过SimpleCursorAdapter适配器来直接使用游标。
2. 开始编写应用程序
2.1.  概览
下面,我们通过一个示例程序来测试,这个程序可以允许用户保持它应该做的事项。这些事项被存放在SQLite数据库中,这个应用程序包括两个Activity,一个是用来查看所有待办事项清单,一个是用户创建/维护一个特定的待办事项。这两个Activity都是通过Intent来进行沟通的。

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Android 完全退出程序
  • 原创:Android应用开发-Andorid歌词秀,含源码
  • android 屏幕保护
  • Android手机软件汉化教程---第四课 dex文件汉化
  • 众多Android 开源项目推荐,给力工作给力学习
  • Android Audio代码分析4
  • Android得到已安装的应用程序信息!
  • Android开发者指南(29) —— USB Host and Accessory
  • Android成长的幕后推手:工程师鲁宾
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1