andriod怎么实现数据库
时间: 2024-02-02 10:05:13 浏览: 67
基于Android如何实现将数据库保存到SD卡
Android中使用SQLite数据库进行数据存储是比较常用的方法。下面是一个简单的实现步骤:
1. 定义数据库结构:创建一个继承自 SQLiteOpenHelper 的类,并在该类中定义数据库的表和字段。
2. 创建数据库:在 SQLiteOpenHelper 的子类中实现 onCreate() 方法,在该方法中创建数据库和表。
3. 升级数据库:同样在 SQLiteOpenHelper 的子类中实现 onUpgrade() 方法,在该方法中更新数据库的表结构。
4. 增删改查操作:在应用程序中使用 SQLiteDatabase 类来执行数据库的增删改查操作。
以下是一个简单的示例代码:
1. 定义数据库结构
```
public class DBHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "mydb.db";
private static final int DB_VERSION = 1;
// 定义表名和字段名
private static final String TABLE_NAME = "user";
private static final String COL_ID = "_id";
private static final String COL_NAME = "name";
private static final String COL_AGE = "age";
// 定义创建表的 SQL 语句
private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " ("
+ COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ COL_NAME + " TEXT NOT NULL, "
+ COL_AGE + " INTEGER NOT NULL"
+ ");";
public DBHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 更新表结构
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
```
2. 创建数据库
```
DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
```
3. 升级数据库
在 DBHelper 类中实现 onUpgrade() 方法。
4. 增删改查操作
```
// 插入数据
ContentValues values = new ContentValues();
values.put(COL_NAME, "张三");
values.put(COL_AGE, 20);
long id = db.insert(TABLE_NAME, null, values);
// 修改数据
ContentValues values = new ContentValues();
values.put(COL_NAME, "李四");
values.put(COL_AGE, 30);
int rows = db.update(TABLE_NAME, values, COL_ID + "=?", new String[]{String.valueOf(id)});
// 查询数据
Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex(COL_ID));
String name = cursor.getString(cursor.getColumnIndex(COL_NAME));
int age = cursor.getInt(cursor.getColumnIndex(COL_AGE));
}
// 删除数据
int rows = db.delete(TABLE_NAME, COL_ID + "=?", new String[]{String.valueOf(id)});
```
阅读全文