Android Studio SQLite
时间: 2023-09-09 10:12:00 浏览: 105
Android Studio 提供了 SQLite 数据库的支持,可以在应用程序中使用 SQLite 数据库来存储和检索数据。SQLite 是一种轻量级的关系型数据库管理系统,它非常适合在移动设备上使用,因为它占用的存储空间很小,而且不需要独立的服务器。
要在 Android Studio 中使用 SQLite 数据库,需要使用 SQLiteOpenHelper 类来创建和管理数据库。SQLiteOpenHelper 类提供了创建数据库、升级数据库、打开数据库等功能。
以下是创建 SQLiteOpenHelper 类的步骤:
1. 创建一个类,继承自 SQLiteOpenHelper 类。
2. 实现 onCreate() 方法和 onUpgrade() 方法。
3. 在 onCreate() 方法中创建数据库并创建表。
4. 在 onUpgrade() 方法中升级数据库。
以下是使用 SQLiteOpenHelper 类的示例代码:
```java
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
private static final int DATABASE_VERSION = 1;
public MyDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE users (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS users;");
onCreate(db);
}
}
```
在这个示例中,我们创建了一个名为 MyDatabaseHelper 的类,继承自 SQLiteOpenHelper 类。在 onCreate() 方法中,我们创建了一个名为 users 的表,包含 id、name 和 age 三个字段。在 onUpgrade() 方法中,我们删除了旧表并重新创建了一个新表,以升级数据库。
要在应用程序中使用 SQLite 数据库,需要创建 MyDatabaseHelper 的实例,并调用 getWritableDatabase() 或 getReadableDatabase() 方法来获取数据库的实例,然后可以使用 SQLiteDatabase 类的方法来操作数据库。
以下是使用 SQLite 数据库的示例代码:
```java
MyDatabaseHelper dbHelper = new MyDatabaseHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "Tom");
values.put("age", 18);
db.insert("users", null, values);
Cursor cursor = db.query("users", new String[]{"_id", "name", "age"}, null, null, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
Log.d("MainActivity", "id=" + id + ", name=" + name + ", age=" + age);
}
cursor.close();
db.close();
```
在这个示例中,我们创建了一个 MyDatabaseHelper 的实例,并调用 getWritableDatabase() 方法来获取数据库的实例。然后,我们使用 ContentValues 类来插入一条记录到 users 表中。最后,我们使用 query() 方法来查询 users 表中的所有记录,并遍历结果集输出每条记录的 id、name 和 age。最后,我们关闭了数据库的实例。
阅读全文