安卓如何创建本地数据库
时间: 2023-06-25 07:04:51 浏览: 76
在安卓中,可以使用SQLite来创建本地数据库。SQLite是一种轻量级的关系型数据库管理系统,适用于单用户或者小型团队的应用程序。
下面是创建本地数据库的简单步骤:
1. 在 AndroidManifest.xml 文件中添加以下权限:
```
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
```
2. 在项目中创建一个继承自 SQLiteOpenHelper 类的帮助类,用于创建和升级数据库。在该类中,需要实现 onCreate() 和 onUpgrade() 方法,分别用于创建和升级数据库。
示例代码:
```
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE mytable (_id INTEGER PRIMARY KEY, name TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS mytable");
onCreate(db);
}
}
```
3. 在 Activity 或者 Fragment 中实例化 DatabaseHelper 类,并获取 SQLiteDatabase 对象,然后进行 CRUD 操作。
示例代码:
```
DatabaseHelper dbHelper = new DatabaseHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 插入数据
ContentValues values = new ContentValues();
values.put("name", "张三");
db.insert("mytable", null, values);
// 查询数据
Cursor cursor = db.query("mytable", new String[]{"_id", "name"}, null, null, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
Log.d("TAG", "id: " + id + ", name: " + name);
}
// 更新数据
ContentValues updateValues = new ContentValues();
updateValues.put("name", "李四");
db.update("mytable", updateValues, "_id=?", new String[]{"1"});
// 删除数据
db.delete("mytable", "_id=?", new String[]{"1"});
// 关闭数据库
db.close();
```