暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
Android-开发中使用-SQLite-数据库.doc
8
8页
0次
2025-03-31
免费下载
Android
开发中使用
SQLite
数据库
简介
SQLite
是一款非常流行的嵌入式数据库,它支持
SQL
查询,并且只用很少的内存
Android
在运行时集成了
SQLite
,所以每个
Android
应用程序都可以使
SQLite
数据库。
对数熟悉
SQL
的开发人员来时,使用
SQLite
相当简单。可以,由于
JDBC
不适合手机这
种内存受限设备,所以
Android
开发人员需要学习新的
API
来使用
SQLite
。本文主要讲解
SQLite
Android
环境中的基本使用。
SQLite
介绍
SQLite
一个非常流行的嵌入式数据库,它支持
SQL
语言,并且只利用很少的
内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项
目(
(Mozilla, PHP, Python
)都使用了
SQLite.
SQLite
由以下几个组件组成:
SQL
编译器、内核、后端以及附件。
SQLite
过利用虚拟机和虚拟数据库引擎(
VDBE
),使调试、修改和扩展
SQLite
内核变得更加方便。
1. SQLite
内部结构
SQLite
基本上符合
SQL-92
标准,和其他的主要
SQL
数据库没什么区别。它
的优点就是高效,
Android
运行时环境包含了完整的
SQLite
SQLite
和其他数据库最大的不同就是对数据类型的支持,创建一个表时,可以
CREATE TABLE
语句中指定某列的数据类型,但是你可以把任何数据类型
放入任何列中。当某个值插入数据库时,
SQLite
将检查它的类型。如果该类型
与关联的列不匹配,则
SQLite
会尝试将该值转换成该列的类型。如果不能转
换,则该值将作为其本身具有的类型存储。比如可以把一个字符串(
String
放入
INTEGER
列。
SQLite
称这为“弱类型”(
manifest typing.
)。
此外,
SQLite
不支持一些标准的
SQL
功能,特别是外键约束(
FOREIGN
KEY constrains
),嵌套
transcaction
RIGHT OUTER JOIN
FULL
OUTER JOIN,
还有一些
ALTER TABLE
功能。
除了上述功能外,
SQLite
是一个完整的
SQL
系统,拥有完整的触发器,交易
等等。
Android
集成了
SQLite
数据库
Android
在运行时(
run-time
)集成了
SQLite
,所以每个
Android
应用程序
都可以使用
SQLite
数据库。对于熟悉
SQL
的开发人员来时,在
Android
发中使用
SQLite
相当简单。但是,由于
JDBC
会消耗太多的系统资源,所以
JDBC
对于手机这种内存受限设备来说并不合适。因此,
Android
提供了一些
新的
API
来使用
SQLite
数据库,
Android
开发中,程序员需要学使用这些
API
数据库存储在
data/<
项目文件夹
>/databases/
下。
Android
开发中使用
SQLite
数据库
Activites
可以通过
Content Provider
或者
Service
访问一个数据库。下面
会详细讲解如果创建数据库,添加数据和查询数据库。
创建数据库
Android
不自动提供数据库。在
Android
应用程序中使用
SQLite
,必须自己
创建数据库,然后创建表、索引,填充数据。
Android
提供了
SQLiteOpenHelper
帮助你创建一个数据库,你只要继承
SQLiteOpenHelper
类,就可以轻松的创建数据库。
SQLiteOpenHelper
据开发应用程序的需要,封装了创建和更新数据库使用的逻辑
SQLiteOpenHelper
类,少需要实现三个方
造函数,调用
SQLiteOpenHelper
的构造函数。这个方需要
数:上下文环境(如,一个
Activity
),数据库字,一个可
工厂(通常是
Null
),一个表你在使用的数据库
的整数。
onCreate
()方,它需要一个
SQLiteDatabase
作为数,
据需要对这个对填充表和初始化数据。
onUpgrage()
,它需要数,一个
SQLiteDatabase
一个和一个新的,这你就可以清楚如何把一个数据
从旧型转变新的型。
下面示例代码了如何继承
SQLiteOpenHelper
创建数据库:
public class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context, String name, CursorFactory
cursorFactory, int version)
{
super(context, name, cursorFactory, 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
成功开数据库后首先被执
}
}
下来讨论如何创建表、插入数据、除表等等。调用
getReadableDatabase()
getWriteableDatabase()
,你可以得
SQLiteDatabase
实例,具调用个方取决于你是需要改变数据库的
db=(new DatabaseHelper(getContext())).getWritableDatabase();
return (db == null) ? false : true;
of 8
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。