在安卓开发中,App的数据可以通过多种方式储存和获取,包括:SQLite数据库、Shared Preferences、文件存储、网络访问远程服务器数据库等。在本次教程中,我们将简要了解安卓开发中使用SQLite数据库取数据的原理及详细介绍。
SQLite数据库是一种轻量级、文件存储的嵌入式数据库。在Android中,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数据库的基本操作,如创建数据库以及表结构、插入、查询、更新和删除数据等。在实际开发过程中,请根据需要自定义相关的数据库名称、表名称和字段以及操作方法。