Android应用开发:SQLite数据库操作详解
85 浏览量
更新于2024-09-03
收藏 192KB PDF 举报
"Android中SQLite使用方法详解"
在Android开发中,SQLite是一个轻量级的数据库系统,被广泛用于存储和管理应用程序的数据。由于其体积小、功能强大且无需单独的服务器进程,SQLite成为移动设备理想的数据库解决方案。Android系统内建了SQLite的API,使得开发者能够方便地进行数据库操作。下面我们将详细探讨如何在Android中使用SQLite。
首先,我们需要打开或创建一个SQLite数据库。在`onCreate`方法中,可以通过`openOrCreateDatabase()`函数来实现。这个函数接受三个参数:数据库名称、模式(通常为`Context.MODE_PRIVATE`,表示私有模式)以及一个可选的`SQLiteDatabase.CursorFactory`实例,这里传入`null`表示使用默认工厂。例如:
```java
SQLiteDatabasedb=openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null);
```
接下来,我们需要创建数据库表。通过`execSQL()`方法执行SQL语句,如创建表:
```java
db.execSQL("DROPTABLEIFEXISTSperson");
db.execSQL("CREATETABLEperson(_idINTEGERPRIMARYKEYAUTOINCREMENT,nameVARCHAR,ageSMALLINT)");
```
这些语句分别用于删除已存在的`person`表(如果存在的话)以及创建一个新的`person`表,包含`_id`(主键,自动增长)、`name`(字符串类型)和`age`(小型整数)三列。
插入数据有两种方式:直接使用`execSQL()`执行SQL语句,或者使用`ContentValues`对象。
1. 直接插入SQL语句:
```java
Personperson=newPerson();
person.name="john";
person.age=30;
db.execSQL("INSERTINTOpersonVALUES(NULL,?,?)", new Object[]{person.name, person.age});
```
这里,我们先创建了一个`Person`对象并设置了属性,然后使用`?`作为占位符,配合`Object[]`参数执行插入操作。
2. 使用`ContentValues`:
```java
person.name="david";
person.age=33;
ContentValuescv=newContentValues();
cv.put("name", person.name);
cv.put("age", person.age);
db.insert("person", null, cv);
```
`ContentValues`允许我们以键值对的方式存储数据,然后通过`insert()`方法将它们插入到指定的表中。
此外,我们还可以通过`query()`, `update()`, `delete()`等方法来查询、更新和删除数据。例如,查询所有`person`表中的数据:
```java
Cursorcursor=db.query("person", null, null, null, null, null, null);
while(cursor.moveToNext()){
Stringname=cursor.getString(cursor.getColumnIndex("name"));
intage=cursor.getInt(cursor.getColumnIndex("age"));
//处理查询结果...
}
cursor.close();
```
以上就是Android中SQLite的基本使用方法。通过这些API,开发者可以方便地进行数据的存取操作,满足应用程序的数据管理需求。在实际开发中,通常还会封装成一个数据库帮助类,以提供更友好的接口和更复杂的操作支持。
753 浏览量
2024-07-15 上传
213 浏览量
2015-01-10 上传
336 浏览量
2012-12-12 上传
453 浏览量
152 浏览量
weixin_38739164
- 粉丝: 8
- 资源: 951
最新资源
- dotfiles:鱼壳和 ST3 偏好
- 龙青视频点播系统 2005.06.21
- 某教育集团能力态度指标表DOC
- Responsive-Microsoft-Homepage-Clone:Microsoft网站主页使用Sacede Css进行响应编码
- 天池大数据竞赛——淘宝穿衣搭配.zip
- Pewlett-Hackard分析
- 学生成绩管理系统.zip
- ProtTrans:ProtTrans提供了最先进的蛋白质预训练语言模型。 使用Transformers模型,对ProtTrans进行了来自Summit的数千个GPU和数百个Google TPU的培训
- 安全天空论坛Safety Sky Bbs v1.0 Build 0622 简化版
- 单片机C语言实例-与电脑串口通信.zip
- mashplan:CodeMash 2015 会话选择器
- XX着名企业调研报告
- 半导体工艺相关知识2020-综合文档
- 这是针对大数据集优化了的双数组字典树,使得在大数据集上构建速度也比较满意,查询速度不随数据集的增加而增加,同时解决了.zip
- tmp:tmp
- 变更编程类