Android データベース接続:追加/削除/更新/検索の実装
Androidでデータベースに接続して、追加、削除、更新、検索を行う場合、通常は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) {
String createTableQuery = "CREATE TABLE mytable (id INTEGER PRIMARY KEY, name TEXT)";
db.execSQL(createTableQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS mytable");
onCreate(db);
}
}
- データベース操作が必要なActivityやFragmentでは、DBHelperをインスタンス化して、読み書き可能なデータベースオブジェクトを取得します。
DBHelper dbHelper = new DBHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
- データベースに対する追加、削除、更新、検索の操作を実行する。
- データを挿入する:
ContentValues values = new ContentValues();
values.put("name", "John");
long result = db.insert("mytable", null, values);
- データを検索する。
Cursor cursor = db.query("mytable", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
String name = cursor.getString(cursor.getColumnIndex("name"));
// 处理查询结果
} while (cursor.moveToNext());
}
cursor.close();
- データを更新する。
ContentValues values = new ContentValues();
values.put("name", "Mike");
int rowsAffected = db.update("mytable", values, "id=?", new String[] { "1" });
- データを削除します。
int rowsAffected = db.delete("mytable", "id=?", new String[] { "1" });
- データベース操作が終了したら、データベース接続を閉じてください。
db.close();
上記は、データベースの操作の簡単な例ですが、実際のアプリケーションでは、具体的な要件に応じてより複雑な操作が必要になる場合があります。データベース操作を行う際には、スレッドセーフや例外処理に注意し、データ操作の安定性とセキュリティを確保する必要があります。