在安卓中操作数据库有多种方式,其中一种是使用Android提供的SQLite数据库。以下是一个简单的示例,展示了如何使用SQLite数据库进行基本的增删改查操作。
首先,在AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
接下来,在你的Activity或Fragment中创建一个DatabaseHelper类,继承自SQLiteOpenHelper类,用于创建和管理数据库:
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "my_database.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 IF NOT EXISTS my_table (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 升级数据库
db.execSQL("DROP TABLE IF EXISTS my_table");
onCreate(db);
}
}
在你需要使用数据库的地方,创建一个DatabaseHelper实例:
DatabaseHelper databaseHelper = new DatabaseHelper(context);
SQLiteDatabase db = databaseHelper.getWritableDatabase();
接下来,你可以执行常见的数据库操作,例如插入、查询、更新和删除:
插入数据:
ContentValues values = new ContentValues();
values.put("name", "John Doe");
long id = db.insert("my_table", null, values);
查询数据:
Cursor cursor = db.query("my_table", null, null, null, null, null, null);
if (cursor != null && cursor.moveToFirst()) {
do {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
// 处理数据
} while (cursor.moveToNext());
}
cursor.close();
更新数据:
ContentValues values = new ContentValues();
values.put("name", "Jane Smith");
db.update("my_table", values, "id=?", new String[] {String.valueOf(id)});
删除数据:
db.delete("my_table", "id=?", new String[] {String.valueOf(id)});
最后,记得在不需要使用数据库的时候关闭数据库连接:
db.close();
databaseHelper.close();
这只是一个简单的示例,更复杂的数据库操作需要根据具体需求进行扩展。
安卓 API 操作数据库需要使用 SQLite 数据库,以下是一个基本的操作示例:
- 在项目的 build.gradle 文件中添加以下依赖:
dependencies {
implementation 'androidx.sqlite:sqlite:2.1.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
}
- 创建一个数据库帮助类 DBHelper.java,继承自 SQLiteOpenHelper:
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
private static final int DATABASE_VERSION = 1;
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE mytable (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS mytable");
onCreate(db);
}
}
- 在需要使用数据库的地方实例化 DBHelper 类,然后获取数据库操作对象 SQLiteDatabase:
DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
- 插入数据:
ContentValues values = new ContentValues();
values.put("name", "John");
long newRowId = db.insert("mytable", null, values);
- 查询数据:
String[] projection = {"id", "name"};
Cursor cursor = db.query("mytable", projection, null, null, null, null, null);
while(cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndexOrThrow("id"));
String name = cursor.getString(cursor.getColumnIndexOrThrow("name"));
// 处理数据
}
cursor.close();
- 更新数据:
ContentValues values = new ContentValues();
values.put("name", "Alice");
String selection = "id=?";
String[] selectionArgs = {"1"};
int count = db.update("mytable", values, selection, selectionArgs);
- 删除数据:
String selection = "id=?";
String[] selectionArgs = {"1"};
int count = db.delete("mytable", selection, selectionArgs);
以上就是使用安卓 API 操作数据库的基本示例,你可以根据需要进行修改和扩展。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/136151.html