[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 데이터베이스를 활용하여 안드로이드 앱의 로컬 데이터 저장 및 관리 기능을 구현할 수 있습니다.

참고 자료:

이상으로 안드로이드 앱에서 SQLite 데이터베이스를 생성하고 UI와 상호작용하는 방법에 대해 알아보았습니다.