Android快速开发7——SQLite编程.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Android快速开发7——SQLite编程

SQLite是android框架自身包含的一个小型关系数据库系统,他支持基本的SQL语句以及基本的表操作功能,能够满足android编程中对数据的基本操作,是一种简便的数据解决方案。SQLite本身占系统资源非常小,一共才几十kb,所以使用他处理数据,对系统资源本身的影响比较小,但是需要注意,出于各种原因,SQLite本身会存在一些让人莫名其妙的bug,故对于SQLite,仅限于处理简单的数据事务,不适合处理复杂的业务。以下通过几个截图,说明具体使用方法:

整个开发过程分几部分,首先xml布局文件中,要有基本的按钮,以及其他需要的控件,并绑定对应的监听器,具体方法不再赘述。

其次,需要两个class文件,一个是SQLiteActivity.class,对应主界面的java文件,另一个是DatabaseHelper.class,一个助手类文件。

首先看这个助手类:

首先:这个class需要继承一个SQLiteOpenHelper的方法,然后分别创建三个构造函数,其中三组构造函数的初始化赋值有所不同。

基本型包含全部的4个参数:context,name,factory,versionContext就是activity对象;

Name就是要操作的表名;Factury暂时传null;

Version为操作数据库的版本,是一个递增正数,若数据库有增删改的变化,需要给这个值;

只有context和name的构造函数,只用在初始化建表的时候;

包含context,name,version三个参数的构造函数,用在对表进行修改的时候;

紧接着要复写onCreate()和onUpgrade()两个方法:

onCreate()方法,包含的是建表等语句,只执行一次,使用两个参数的构造函数进行初始化。

onUpgrade()方法,在回调函数有版本号变化时执行,操作数据库的增删改操作。以上基本的助手类就编写完成了。

下面是SQLiteActivity.class的编写:

首先要了解到,如何在命令行里操作sqlite库的文件。

在手机模拟器启动的情况下(不启动找不到),到adt工具的安装目录,找到sdk目录,进入“platform-tools”,找到adb.exe,执行adbshell,进入模拟器的linux环境,此时提示符变成“#”。

找到根目录的data文件夹,进入,再进入一层data目录,可以看到当前系统中所有开发和安装的com包文件。

当这个项目(com包中)执行过sqlite的建表文件,就会包含一个databases的目录,进入这个目录,就可以使用SQL语句直接操作表数据。

当进入了该目录后,执行sqlite3dbname,进入sql模拟状态,操作方法跟其他SQL工具一致。

.schema,查看当前库里有哪些表。实际代码操作如下:

继承基本的activity类,然后在onCreate()方法中获取按钮等控件的使用,添加对应的点击响应,这些内容和其他控件的使用没有区别。

下面是表的创建

在创建数据库按钮的匿名类中,复写onClick方法,回调函数,包含两个参数:SQLiteActivity.this,就是当前的activity,后面的“”中的,是创建的表名。

只有在添加了后面getReadableDatabase()方法并执行后,才真正创建一个新表。最后将这个操作绑定到对应的按钮点击监听器上即可。

更新表结构

更新表结构时,回调函数使用3个参数,增加一个版本号,这样会调用那个upgrade()方法,如果里面有表结构的修改语句,则会对表结构进行修改。

插入数据

插入数据的时候,先声明一个contentValues对象,实例化以后,向他put键值对,键名为表的字段,后面会根据字段类型自动判断传入的数据类型。

同样调用upgrade()的方法,之后使用db.insert将contentValues的值传入到这个表中,完成数据插入。

更新数据

类似于插入数据,同样使用contentValues对象,调用getWritableDatbase方法,后面用db.update执行操作。

“id=?”是条件语句

String[]{“1”}中,有几个“?”条件,这里就跟几个成员。

查询数据

查询数据,需要一个指针的方法,默认指向第一条记录的前面,使用cursor.moveToNext向下移动,类似rs.next的用法。

在cursor获取查询结果时:

“user”是表名;

“String[]{“id”,”name”}”是获

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档