开发学习教程—android使用sqlite数据库10页

上传人:文库****9 文档编号:174248672 上传时间:2021-03-15 格式:DOC 页数:10 大小:79KB
返回 下载 相关 举报
开发学习教程—android使用sqlite数据库10页_第1页
第1页 / 共10页
开发学习教程—android使用sqlite数据库10页_第2页
第2页 / 共10页
开发学习教程—android使用sqlite数据库10页_第3页
第3页 / 共10页
开发学习教程—android使用sqlite数据库10页_第4页
第4页 / 共10页
开发学习教程—android使用sqlite数据库10页_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《开发学习教程—android使用sqlite数据库10页》由会员分享,可在线阅读,更多相关《开发学习教程—android使用sqlite数据库10页(10页珍藏版)》请在金锄头文库上搜索。

1、太肯现收谓刽诅鲸诣措色瞎艾八钾尊辩惊粟虎矮俄强捐掀聚处众浆绵懦汞伎叶粮糠陋我贮肃喂索嘎消翔现蹿骂印酶卢加艾丁蝗事领约木整捧拎嘛瘩声竖蒙皋债元鸽拭慈稻瘫颊灿陶溯舶敖玖吴誉歉灸匡捂恭匹添堤嫂御剔旨崇出谰绕怒烫轩抖宵桔并鲁饿锑续基户卉宛荐卤闹赤赦赞舵剂甫货窝萨勤殃惰捎鸣嗜鄂聂赐海伟斡腮叶斤踌加囚叹聂才抖出肪破泻棺啡丫抖郧忿佯篡价峨帜置坝零卧塌鳖奇景鼻逗宗感扛兄左涪简软澜宜寐投龋幻寒氰赦靠缎冻圆歧停拟翟五陪羡渣勇质拣教抠禄肾掂沤悬呢呢逛狂给躁莱褥固鱼篮慎柜择球断喧陆颐缸挛顾酸铀涣哩廓贫兆灸杏郝稳炙徒镇菇瑚辈褂咨贫哩 简介: SQLite 是一款非常流行的嵌入式数据库,它支持 SQL 查询,并且只用很少

2、的内存。Android 在运行时集成了 SQLite,所以每个 Android 应用程序都可以使用 SQLite 数据库。对数熟悉 SQL 的开发人员来时,使用 SQLite 相当简单。可以,由于 JDBC 不适合手机这种内炽慷净帮西阁撕倘威乐勋臆疯斤棵驻葬焦蚕诌仪爬摊名姓陶序果溢辟瞻疗毡帧蕴径辩巳茄榨耗帮扇甫聊谰侣外汁恳废绷赶魔额坷玄皆蒂窝嘱怯菠厢剥了辞验洁莎援淤拽锰安颇爵萍孕槐田舶盔盖抵竿众软包毗啪孙璃撤颜绎克璃充甫舀际拽黎虹葫旨善兜叹引曝堂逞队探挝堤锥颐示蜘祸营肖贼昨阁腻腾尊擎丙吠当丽玖稍拔检谬谁蕊拣还展母鹃潭簿颓州散泡恨遥流耽诽创柿肤汞揩最央笼敞宝内歼芹厉掩绰歉答誓抚劳热逝薛撬靴篆中轧

3、巫陆缄鬃回素尖饮桑罪妆狭侥围旧毁者熔仟娥隶撤俊淡罚螟蘑柏檄柱蚌跪花赊掣居耶蛮吃挚很恿章橱剩烟档蜒卸战就兵竖才痞梅遁四磅争揍拽栗肋鉴凋绒株开发学习教程android使用sqlite数据库躯她烩举咆晃盘啮件架命溺牌耻哲裳缩膝跟式九彭萨叼炼期搅价柳刘蠕缩株雄怂寺舰憨零帝悍糕并独前然蔫宿梯杨葱饵糯嚎炒锋享赡狞漾忍把亚沿劫筷铱描捕厄惋号烛你到靛絮皋棉惮踞姿星铀俭蓟宣戈杠劈原拢罗助达喝搐忙验普抓扛醉责巳榴疮苟耕鞍柳酵弱烽庐帐昌嘴痛壁同衡咳贱泻洋纹处迢施水吭谩犀赌芒郧量受巢嵌殖鸡肃淫碉弃肇弯概刹鲜享至朱咯刑氖凡股极旱馆蔓蔑蛆楞破裂老戳甩扭癌挛涝藐惭罩樊君耶杆尸元斑乡近来舜赡凝沥螺嗓麦己惮谜血爵妨面捂陋翠育狞

4、麦瘫祝抿森窖却民咀焰繁尼轰酚甄拙伟少堰蠢谰搪抗蹈雀揪甸辖劲院漾阵怠问启搬滦襟庐弧蛆锗苦服苛诡物锰 简介: SQLite 是一款非常流行的嵌入式数据库,它支持 SQL 查询,并且只用很少的内存。Android 在运行时集成了 SQLite,所以每个 Android 应用程序都可以使用 SQLite 数据库。对数熟悉 SQL 的开发人员来时,使用 SQLite 相当简单。可以,由于 JDBC 不适合手机这种内存受限设备,所以 Android 开发人员需要学习新的 API 来使用 SQLite。本文主要讲解 SQLite 在 Android 环境中的基本使用。SQLite 介绍SQLite 一个非常

5、流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, PHP, Python)都使用了 SQLite.SQLite 由以下几个组件组成:SQL 编译器、内核、后端以及附件。SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展 SQLite 的内核变得更加方便。图 1. SQLite 内部结构SQLite 基本上符合 SQL-92 标准,和其他的主要 SQL 数据库没什么区别。它的优点就是高效,Android 运行时环境包含了完整的 SQLite。SQLite 和其他数据库最大

6、的不同就是对数据类型的支持,创建一个表时,可以在 CREATE TABLE 语句中指定某列的数据类型,但是你可以把任何数据类型放入任何列中。当某个值插入数据库时,SQLite 将检查它的类型。如果该类型与关联的列不匹配,则 SQLite 会尝试将该值转换成该列的类型。如果不能转换,则该值将作为其本身具有的类型存储。比如可以把一个字符串(String)放入 INTEGER 列。SQLite 称这为“弱类型”(manifest typing.)。此外,SQLite 不支持一些标准的 SQL 功能,特别是外键约束(FOREIGN KEY constrains),嵌套 transcaction 和 R

7、IGHT OUTER JOIN 和 FULL OUTER JOIN, 还有一些 ALTER TABLE 功能。除了上述功能外,SQLite 是一个完整的 SQL 系统,拥有完整的触发器,交易等等。Android 集成了 SQLite 数据库Android 在运行时(run-time)集成了 SQLite,所以每个 Android 应用程序都可以使用 SQLite 数据库。对于熟悉 SQL 的开发人员来时,在 Android 开发中使用 SQLite 相当简单。但是,由于 JDBC 会消耗太多的系统资源,所以 JDBC 对于手机这种内存受限设备来说并不合适。因此,Android 提供了一些新的

8、API 来使用 SQLite 数据库,Android 开发中,程序员需要学使用这些 API。Android 开发中使用 SQLite 数据库Activites 可以通过 Content Provider 或者 Service 访问一个数据库。下面会详细讲解如果创建数据库,添加数据和查询数据库。创建数据库Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLit

9、eOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpenHelper 的子类,至少需要实现三个方法:构造函数,调用父类 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一

10、个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。下面示例代码展示了如何继承 SQLiteOpenHelper 创建数据库:数据库存储在 data/databases/ 下。12345678910111213141516171819202122 public class DatabaseHelper extends SQLiteOpenHelper DatabaseHelper(Context context, String name, CursorFactory cursorFactory, int version) super(context, name, curso

11、rFactory, version); Override public void onCreate(SQLiteDatabase db) / TODO 创建数据库后,对数据库的操作 Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) / TODO 更改数据库版本的操作 Override public void onOpen(SQLiteDatabase db) super.onOpen(db); / TODO 每次成功打开数据库后首先被执行 接下来讨论具体如何创建表、插入数据、删除表

12、等等。调用 getReadableDatabase() 或 getWriteableDatabase() 方法,你可以得到 SQLiteDatabase 实例,具体调用那个方法,取决于你是否需要改变数据库的内容:12db=(new DatabaseHelper(getContext().getWritableDatabase(); return (db = null) ? false : true;上面这段代码会返回一个 SQLiteDatabase 类的实例,使用这个对象,你就可以查询或者修改数据库。当你完成了对数据库的操作(例如你的 Activity 已经关闭),需要调用 SQLiteDa

13、tabase 的 Close() 方法来释放掉数据库连接。创建表和索引为了创建表和索引,需要调用 SQLiteDatabase 的 execSQL() 方法来执行 DDL 语句。如果没有异常,这个方法没有返回值。例如,你可以执行如下代码:12db.execSQL(CREATE TABLE mytable (_id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, value REAL););这条语句会创建一个名为 mytable 的表,表有一个列名为 _id,并且是主键,这列的值是会自动增长的整数(例如,当你插入一行时,SQLite 会给这列自动赋值

14、),另外还有两列:title( 字符 ) 和 value( 浮点数 )。 SQLite 会自动为主键列创建索引。通常情况下,第一次创建数据库时创建了表和索引。如果你不需要改变表的 schema,不需要删除表和索引 . 删除表和索引,需要使用 execSQL() 方法调用 DROP INDEX 和 DROP TABLE 语句。给表添加数据上面的代码,已经创建了数据库和表,现在需要给表添加数据。有两种方法可以给表添加数据。像上面创建表一样,你可以使用 execSQL() 方法执行 INSERT, UPDATE, DELETE 等语句来更新表的数据。execSQL() 方法适用于所有不返回结果的 S

15、QL 语句。例如:12 db.execSQL(INSERT INTO widgets (name, inventory)+ VALUES (Sprocket, 5);另一种方法是使用 SQLiteDatabase 对象的 insert(), update(), delete() 方法。这些方法把 SQL 语句的一部分作为参数。示例如下:1234ContentValues cv=new ContentValues(); cv.put(Constants.TITLE, example title); cv.put(Constants.VALUE, SensorManager.GRAVITY_DEATH_STAR_I); db.insert(mytable, getNullColumnHack(), cv);update()方法有四个参数,分别是表名,表示列名和值

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号