SQLite数据库操作指南
需积分: 9 79 浏览量
更新于2024-09-17
收藏 5KB TXT 举报
"Sqlite基本操作"
在Android开发中,SQLite是一个轻量级的数据库,用于在设备上存储和管理数据。SQLite支持常见的SQL语法,使得数据处理变得方便。本资源主要涉及SQLite数据库的基本操作,包括创建数据库、创建表、插入数据、查询数据以及更新和删除数据。
首先,创建SQLite数据库需要一个`SQLiteOpenHelper`的子类,通常我们自定义一个名为`SQLiteOpenHelper`的类。在这个类中,我们需要重写两个关键方法:`onCreate()`和`onUpgrade()`。`onCreate()`方法在数据库首次创建时调用,用于创建表结构;`onUpgrade()`则在数据库升级时调用,用于更新或修改表结构。
在提供的代码中,我们看到了一个`Activity01`类,它扩展了`Activity`,但没有直接看到`SQLiteOpenHelper`的使用。不过,我们可以假设这个类可能在其他地方使用了`SQLiteOpenHelper`来管理数据库。
创建表的SQL语句如下所示,这是在`CREATE_TABLE`常量中定义的:
```java
private final static String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " ("
+ TABLE_ID + " INTEGER PRIMARY KEY, "
+ TABLE_NUM + " INTEGER, "
+ TABLE_DATA + " TEXT)";
```
这行代码创建了一个名为`table1`的表,包含三个字段:一个整型主键 `_id`,一个整型字段 `num` 和一个文本字段 `data`。
在`Activity01`类中,我们看到了对`SQLiteDatabase`对象的引用,`mSQLiteDatabase`,这通常用于执行SQL命令。例如,插入数据可以使用`insert()`方法,查询数据可以使用`rawQuery()`或`query()`方法,更新数据使用`update()`方法,删除数据使用`delete()`方法。
以下是一个简单的数据插入示例:
```java
ContentValues values = new ContentValues();
values.put(TABLE_NUM, 123);
values.put(TABLE_DATA, "Example Data");
long newRowId = mSQLiteDatabase.insert(TABLE_NAME, null, values);
```
查询数据的示例:
```java
Cursor cursor = mSQLiteDatabase.query(TABLE_NAME,
new String[]{TABLE_ID, TABLE_NUM, TABLE_DATA},
null, null, null, null, null);
```
在查询结果上进行遍历并显示在`ListView`中,可以使用`SimpleCursorAdapter`:
```java
ListAdapter adapter = new SimpleCursorAdapter(
this,
android.R.layout.simple_list_item_2,
cursor,
new String[]{TABLE_NUM, TABLE_DATA},
new int[]{android.R.id.text1, android.R.id.text2});
m_ListView.setAdapter(adapter);
```
以上就是SQLite数据库在Android中的基本操作。在实际应用中,还需要考虑数据的事务处理、错误处理以及关闭数据库连接等细节。确保正确管理数据库资源是防止内存泄漏和提高应用程序性能的关键。
2012-10-06 上传
2018-12-18 上传
728 浏览量
2024-04-14 上传
2015-12-10 上传
2020-09-10 上传
2023-04-11 上传
2014-04-04 上传
2020-12-15 上传
stdying
- 粉丝: 6
- 资源: 22
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍