【Android核心基础】这篇资料详细介绍了Android中SQLite数据库的基础知识,非常适合初学者入门。SQLite是一个轻量级的、遵循ACID特性的关系型数据库管理系统,常用于嵌入式开发,如Android应用。SQLite数据库允许一定程度的数据类型灵活性,尽管它是无类型的,但仍支持NULL、VARCHAR、TEXT、INTEGER、BLOB和CLOB等常见类型。特别地,当定义了"integer primary key"字段时,该字段只能存储64位整数。 在Android系统中,管理SQLite数据库主要依赖于`SQLiteOpenHelper`抽象类。这个类提供了对数据库版本管理的功能,包括`onCreate()`(首次创建数据库时执行)、`onUpgrade()`(数据库版本升级时执行)和`onOpen()`(每次打开数据库时执行)。开发者通常会自定义`SQLiteOpenHelper`的子类来实现具体的数据库操作。例如,创建一个新的Android工程,然后添加Android Junit测试环境,接着创建一个名为`PersonOpenHelper`的类,继承`SQLiteOpenHelper`,并重写`onCreate()`和`onUpgrade()`方法。测试这个类可以通过创建一个`PersonOpenHelperTest`测试类来完成。 在实际操作中,当数据库被访问时,Android系统会在指定目录下生成数据库文件(如person.db)以及一个journal文件(如person.db-journal)。journal文件用于SQLite的事务回滚,通常在无异常或无需回滚的情况下大小为0,其存在是为了减少生成和删除的开销。 `SQLiteDatabase`是Android提供的一个类,它封装了CRUD(创建、读取、更新、删除)操作的API。我们可以使用`execSQL()`执行SQL语句(如插入、删除、更新和创建表),而`rawQuery()`则用于执行查询语句,返回一个`Cursor`对象。 `Cursor`是结果集游标,它并不直接存储数据,而是指向数据库中的数据索引,模拟出类似表格的行、列结构。`Cursor`提供了多种移动方法,如`moveToNext()`、`moveToPrevious()`、`moveToFirst()`和`moveToLast()`,便于遍历和访问结果集。 执行SQL语句有两种常见方式:拼接字符串和使用占位符"?"。拼接字符串的方式可能会导致SQL注入风险,因此推荐使用占位符"?"。`execSQL()`和`rawQuery()`方法都可以接受占位符,其中`execSQL()`用于执行非查询的SQL语句,而`rawQuery()`则用于查询,第二个参数可以传入占位符对应的值数组。 这份资料详细讲解了Android中SQLite数据库的基本操作,包括如何创建和管理数据库,使用`SQLiteOpenHelper`,以及通过`SQLiteDatabase`和`Cursor`进行数据操作,对于学习Android基础开发的人来说是非常有价值的资源。
剩余45页未读,继续阅读
- 粉丝: 1
- 资源: 9
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助