[android] 안드로이드 SQLite 데이터베이스와 UI 상호작용
안드로이드 앱을 개발하다 보면 로컬 데이터베이스를 사용해야 할 때가 많습니다. 안드로이드에서는 SQLite 데이터베이스를 흔히 사용하며, 이를 활용하여 데이터를 저장하고 관리할 수 있습니다. 이 글에서는 안드로이드 앱에서 SQLite 데이터베이스를 생성하고, 데이터를 CRUD(Create, Read, Update, Delete)하는 방법에 대해 살펴보겠습니다.
1. SQLite 데이터베이스 생성하기
안드로이드 앱에서 SQLite 데이터베이스를 사용하려면 SQLiteOpenHelper
클래스를 상속한 Helper 클래스를 만들어야 합니다. 이 클래스를 사용하여 데이터베이스를 생성하고 버전을 업데이트할 수 있습니다. 아래는 데이터베이스를 생성하는 간단한 예제 코드입니다.
public class MyDBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "my_db";
private static final int DATABASE_VERSION = 1;
public MyDBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String createTableQuery = "CREATE TABLE my_table (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 my_table");
onCreate(db);
}
}
2. 데이터 추가, 조회, 수정, 삭제
데이터 추가
public void addData(String name) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", name);
db.insert("my_table", null, values);
db.close();
}
데이터 조회
public String getData(int id) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query("my_table", new String[] { "name" }, "id=?",
new String[] { String.valueOf(id) }, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
String name = cursor.getString(0);
cursor.close();
return name;
}
데이터 수정
public int updateData(int id, String newName) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", newName);
return db.update("my_table", values, "id = ?", new String[] { String.valueOf(id) });
}
데이터 삭제
public void deleteData(int id) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete("my_table", "id = ?", new String[] { String.valueOf(id) });
db.close();
}
3. UI와 SQLite 데이터베이스 연동
UI와 SQLite 데이터베이스를 연동하려면 앱의 사용자 인터페이스 요소(예: 버튼, 텍스트 입력란)와 SQLite 데이터베이스 관련 메서드를 연결해야 합니다. 이를 통해 사용자가 데이터를 추가, 조회, 수정, 삭제할 수 있도록 할 수 있습니다.
예를 들어, “추가” 버튼을 누르면 텍스트 입력란에 입력한 데이터가 데이터베이스에 추가되고, “조회” 버튼을 누르면 해당 데이터를 조회하여 화면에 표시되도록 할 수 있습니다.
이렇게 SQLite 데이터베이스를 활용하여 안드로이드 앱의 로컬 데이터 저장 및 관리 기능을 구현할 수 있습니다.
참고 자료:
- 안드로이드 공식 문서: https://developer.android.com/reference/android/database/sqlite/package-summary
- SQLite 공식 사이트: https://www.sqlite.org/
이상으로 안드로이드 앱에서 SQLite 데이터베이스를 생성하고 UI와 상호작용하는 방법에 대해 알아보았습니다.