Android SQLite数据库实战教程
89 浏览量
更新于2024-09-03
收藏 75KB PDF 举报
"Android 中SQLite技术实例详解"
在Android开发中,SQLite是一个不可或缺的组件,它是一种轻量级的关系型数据库,特别适合于处理应用程序中的小规模数据存储。SQLite数据库不依赖于任何服务器进程,而是直接集成到应用中,以文件的形式存在,这使得它的使用非常便捷。
一、SQLite数据库概述
SQLite数据库具有以下特点:
1. 轻量级:SQLite数据库设计精简,不需要额外的服务器进程,适合处理少量数据的创建、读取、更新和删除(CURD)操作。
2. 文件本质:SQLite数据库本质上是一个文件,它不需要安装或启动任何服务,只需通过应用程序访问该文件即可进行数据操作。
3. 数据读写:SQLite数据库在运行时打开就像读写文件一样,提供了高效的数据读写能力。
二、SQLite数据库数据类型
SQLite支持五种基本数据类型:
1. NULL:表示空值。
2. INTEGER:整数类型,包括有符号和无符号整数。
3. REAL:浮点数类型,用于存储小数。
4. TEXT:字符串文本类型,用于存储字符数据。
5. BLOB:二进制对象类型,用于存储任意字节序列。
尽管如此,SQLite也允许使用像varchar(n), char(n), decimal(p,s)等传统SQL数据类型,但在实际存储时,它们会被转换为上述五种基础类型。
三、简单SQLite数据库操作实例
在Android中,我们通常使用`SQLiteOpenHelper`类来管理和操作SQLite数据库。以下是一个简单的示例,展示了如何创建数据库、表以及进行数据操作:
```java
public class DatabaseHelper extends SQLiteOpenHelper {
// 数据库版本号
private static final int DATABASE_VERSION = 1;
// 数据库名
private static final String DATABASE_NAME = "MyDatabase.db";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表的SQL语句
String CREATE_TABLE = "CREATE TABLE myTable (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)";
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 当数据库版本升级时,这里可以执行升级操作,如修改表结构
db.execSQL("DROP TABLE IF EXISTS myTable");
onCreate(db);
}
}
```
在上述代码中,我们首先定义了数据库的版本号和名称,然后重写了`onCreate()`方法来创建数据库表。`onUpgrade()`方法用于处理数据库版本升级的情况,这里我们选择在升级时先删除旧表再重新创建。
四、插入、查询、更新和删除数据
一旦数据库和表创建好,我们就可以使用`SQLiteDatabase`对象的方法来执行SQL语句,例如`insert()`, `query()`, `update()`, 和 `delete()`。
1. 插入数据:
```java
ContentValues values = new ContentValues();
values.put("name", "John Doe");
values.put("age", 30);
getWritableDatabase().insert("myTable", null, values);
```
2. 查询数据:
```java
Cursor cursor = getWritableDatabase().query("myTable", new String[]{"name", "age"}, null, null, null, null, null);
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
Log.d("Data", "Name: " + name + ", Age: " + age);
}
cursor.close();
```
3. 更新数据:
```java
ContentValues updateValues = new ContentValues();
updateValues.put("age", 31);
getWritableDatabase().update("myTable", updateValues, "name=?", new String[]{"John Doe"});
```
4. 删除数据:
```java
getWritableDatabase().delete("myTable", "name=?", new String[]{"John Doe"});
```
五、总结
Android的SQLite数据库提供了一种灵活且高效的方式来存储和管理应用数据。通过使用`SQLiteOpenHelper`,开发者可以方便地创建、升级数据库,以及执行各种SQL操作。在实际项目中,可以根据需求进一步封装这些操作,以提高代码的可读性和复用性。
2011-06-10 上传
2015-11-19 上传
点击了解资源详情
2021-01-04 上传
2013-03-22 上传
2013-04-15 上传
2021-01-20 上传
2011-09-10 上传
2011-12-10 上传
weixin_38657376
- 粉丝: 4
- 资源: 928
最新资源
- IEEE 14总线系统Simulink模型开发指南与案例研究
- STLinkV2.J16.S4固件更新与应用指南
- Java并发处理的实用示例分析
- Linux下简化部署与日志查看的Shell脚本工具
- Maven增量编译技术详解及应用示例
- MyEclipse 2021.5.24a最新版本发布
- Indore探索前端代码库使用指南与开发环境搭建
- 电子技术基础数字部分PPT课件第六版康华光
- MySQL 8.0.25版本可视化安装包详细介绍
- 易语言实现主流搜索引擎快速集成
- 使用asyncio-sse包装器实现服务器事件推送简易指南
- Java高级开发工程师面试要点总结
- R语言项目ClearningData-Proj1的数据处理
- VFP成本费用计算系统源码及论文全面解析
- Qt5与C++打造书籍管理系统教程
- React 应用入门:开发、测试及生产部署教程