
Android 使用SQLite数据库的实例分析
5星
- 浏览量: 0
- 大小:None
- 文件类型:GZ
简介:
本篇文章将对在Android开发中使用SQLite数据库进行详细的实例分析,帮助开发者更好地理解和掌握其应用技巧。
在Android应用开发中,SQLite是一个轻量级的关系型数据库系统,并且是Android操作系统内置的数据库解决方案,用于存储和管理应用程序中的结构化数据。它提供了一种高效、可靠且易于使用的数据存储方式,特别适合资源有限的移动设备。
本段落将介绍如何在Android应用中操作SQLite数据库:包括创建、查询、更新和删除数据的操作方法。
首先需要在项目中添加一个继承自`SQLiteOpenHelper`类的新类,用于帮助管理SQLite数据库版本与生命周期。例如可以创建名为`MyDatabaseHelper`的类:
```java
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = TestDB.db;
public MyDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_TABLE = CREATE TABLE Table_Name (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 Table_Name);
onCreate(db);
}
}
```
在`onCreate()`方法中,定义了数据库的结构,并创建了一个名为“Table_Name”的表,包含三个字段:id(整型主键)、name(文本)和age(整型)。而在`onUpgrade()`方法中,则处理版本更新的情况,通过删除旧表并重新调用`onCreate()`来实现。
接下来使用`MyDatabaseHelper`类的实例执行数据库操作。例如插入数据:
```java
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(name, John Doe);
values.put(age, 25);
long newRowId = db.insert(Table_Name, null, values);
db.close();
```
这里通过`getWritableDatabase()`获取可写数据库对象,使用`ContentValues`存储要插入的数据,并调用`insert()`方法将数据添加到表中。
查询操作可以通过以下代码实现:
```java
String[] columns = {id, name, age};
Cursor cursor = db.query(Table_Name, columns, null, null, null, null, null);
if (cursor != null && cursor.moveToFirst()) {
do {
int id = cursor.getInt(cursor.getColumnIndex(id));
String name = cursor.getString(cursor.getColumnIndex(name));
int age = cursor.getInt(cursor.getColumnIndex(age));
// 处理查询结果
} while (cursor.moveToNext());
}
cursor.close();
```
这里指定了要查询的列,使用`query()`方法执行查询。在循环中获取每行数据并处理它们。
更新和删除操作也类似:
```java
// 更新记录
int count = db.update(Table_Name, values, id=?, new String[]{String.valueOf(id)});
db.close();
// 删除记录
count = db.delete(Table_Name, id=?, new String[]{String.valueOf(id)});
db.close();
```
总结来说,Android中的SQLite数据库操作通过`SQLiteOpenHelper`及其子类实现。开发者可以根据业务需求设计更复杂的表结构和丰富的数据操作逻辑来满足应用的功能要求。
在“TestDB”示例中可能包含了帮助理解和实践这些概念的代码或数据库文件。
全部评论 (0)


