在安卓开发中,App的数据可以借助多种方法储存和获取,包括SQLite数据库、Shared Preferences、文件存储、网络访问远程服务器数据库等。在这次教程中,我们将简要了解安卓开发中使用SQLite数据库取数据的原理及详细介绍。
SQLite数据库是一种轻量级、文件存储的嵌入式数据库。在安卓中,SQLite数据库被广泛应用于App的数据持久化处理。它非常适用于存储结构化的数据,例如配置信息、用户设置和简单的数据集。
以下内容简要介绍如何在安卓开发中使用SQLite数据库进行数据存取
1. 创建数据库并建立表结构
首先,我们需要通过继承SQLiteOpenHelper类创建一个数据库Helper类。在这个类当中,我们需要重写两个方法`onCreate` 和 `onUpgrade`。在`onCreate`方法中,我们可创建表结构;在`onUpgrade`方法中,我们负责处理数据库升级的逻辑。
```java
public class DBHelper extends SQLiteOpenHelper {
private static final String DB,NAME = my,database;
private static final int DB,VERSION = 1;
public DBHelper(Context context) {
super(context, DB,NAME, null, DB,VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String create,table,sql = CREATE TABLE IF NOT EXISTS fruit ( +
id INTEGER PRIMARY KEY AUTOINCREMENT, +
name TEXT NOT NULL, +
price REAL NOT NULL);;
db.execSQL(create,table,sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 处理数据库升级的逻辑
}
}
```
2. 插入数据
使用`SQLiteDatabase`实例的`insert`方法向表中插入数据。
```java
public void insertFruit(String name, Float price) {
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put(name, name);
values.put(price, price);
db.insert(fruit, null, values);
db.close();
}
```
3. 查询数据
使用`SQLiteDatabase`实例的`query`方法查询表中的数据。
```java
public List
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.query(fruit, null, null, null, null, null, null);
List
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex(id));
String name = cursor.getString(cursor.getColumnIndex(name));
float price = cursor.getFloat(cursor.getColumnIndex(price));
Fruit fruit = new Fruit(id, name, price);
fruits.add(fruit);
}
cursor.close();
db.close();
return fruits;
}
```
4. 更新数据
使用`SQLiteDatabase`实例的`update`方法更新表中的数据。
```java
public void updateFruit(int id, String name, Float price) {
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put(name, name);
values.put(price, price);
String whereClause = id=?;
String[] whereArgs = new String[] {String.valueOf(id)};
db.update(fruit, values, whereClause, whereArgs);
db.close();
}
```
5. 删除数据
使用`SQLiteDatabase`实例的`delete`方法删除表中的数据。
```java
public void deleteFruit(int id) {
SQLiteDatabase db = getWritableDatabase();
String whereClause = id=?;
String[] whereArgs = new String[] {String.valueOf(id)};
db.delete(fruit, whereClause, whereArgs);
db.close();
}
```
通过以上示例,我们可在安卓应用中实现对SQLite数据库的基本操作,如创建数据库以及表结构、插入、查询、更新和删除数据等。在实际开发过程中,请根据需要自定义相关的数据库名称、表名称和字段以及操作方法。