Android学习笔记034之数据存储—SQLite数据库解读.doc

Android学习笔记034之数据存储—SQLite数据库解读.doc

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

Android学习笔记034之数据存储—SQLite数据库 前面我们介绍了Android数据存储的两种方法:文件存储和SharedPreference存储,这一篇我们来学习一下Android存储数据的另外一种方式——SQLite数据库存储。 1、SQlite数据库简介   现在的主流移动智能设备中,比如Android手机、iPhone手机,平板等都是使用SQLite数据库作为存储复杂数据的存储引擎。那么什么是SQLite数据库呢?   SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎,它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行。SQLite由以下几个部分组成:SQL编译器、内核、后端以及附件。SQLite通过利用虚拟机和虚拟数据库引擎(VDBE),是调试、修改和扩展SQLite的内核变得更加方便。所有SQL语句都被编译成易读的、可以在SQLite虚拟机中执行的程序集。   SQlite数据库是一个轻量级的关系型数据库,不需要像其它关系型数据库一样需要安装,Android已经将SQLite数据库内置在系统中,内置的版本是3.0版本。SQlite支持标准的SQL语法,还支持ACID(数据库事务)原则,占用资源非常少,非常适合在移动设备中使用。   袖珍型的SQLite数据库就可以支持高达2TB大小的数据库,每个数据库都是以单个文件的形式存在,这些数据都是以B-Tree的数据结构形式存储在磁盘上。每一个数据库是一个文件,数据库中可以包含多个表,表中可以包含多个字段。   SQLite数据库支持NULL、INTEGER、REAL、TEXT和BLOB数据类型,分别代表空值、整型值、浮点值、字符串文本、二进制对象。SQLite采用动态数据类型,当某个值插入到数据库时,SQLite将会检查它的类型,如果该类型与关联的列不匹配,SQLite则会尝试将该值转换成该列的类型,如果不能转换,则该值将作为本身的类型存储,SQLite称这为“弱类型”。但有一个特例,如果是INTEGER PRIMARY KEY,则其他类型不会被转换,会报一个“datatype missmatch”的错误。简单的说就是:我们可以各种数据类型的数据保存到任何字段中而不用关心字段声明的数据类型。 下面是Android系统中SQLite数据库的几个关键类: SQLiteOpenHelper:数据库抽象类,我们通过继承该类,获取数据库实例,然后可以重写数据库创建、更新版本方法和关闭数据库 SQLiteDatabase:数据库访问类:我们通过获取这个类的实例来对数据库做一些CRUD操作 Cursor:游标:类似于JDBC里的结果集 2、SQLiteOpenHelper创建数据库与版本管理   我们继承SQLiteOpenHelper这个类的时候必须要实现两个方法: onCreate(SQLiteDatabase sqLiteDatabase)和onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1),onCreate方法是我们第一次使用应用的时候生成数据表;onUpgrade方法是数据库版本发生变更的时候调用。还有必须要实现一个构造方法,下面是代码示例: public class DBOpenHelper extends SQLiteOpenHelper { private static String DB_NAME = db_test.db; private static int DB_VERSION = 1; public DBOpenHelper(Context context) { super(context, DB_NAME, null, DB_VERSION); } /** * 数据库第一次创建的时候调用 * * @param sqLiteDatabase */ @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { } /** * 数据库版本发生改变的时候调用 * * @param sqLiteDatabase * @param i * @param i1 */ @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { } }   上述代码启动会创建一个db_test.db的数据库文件,在data/data/包名/database目录下就可以看到创建的数据库文件,将其导出之后就可以用图形化工具查看

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档