[android] 안드로이드 SQLite 데이터베이스와 데이터 흐름

안드로이드 앱을 개발하다보면 데이터를 저장하고 관리해야 하는 경우가 많습니다. SQLite는 안드로이드에서 내장형 데이터베이스 시스템으로 많이 사용됩니다. 안드로이드 SQLite 데이터베이스의 사용 방법과 데이터 흐름에 대해 알아보겠습니다.

1. SQLite 데이터베이스란

SQLite경량의 디스크 기반 데이터베이스로, 안드로이드 앱에서 큰 데이터셋을 저장하고 관리하기에 적합합니다. SQLite는 SQL을 사용하여 데이터를 조회, 삽입, 수정, 삭제할 수 있도록 해줍니다.

2. 안드로이드에서의 SQLite 사용

안드로이드 앱에서 SQLite를 사용하려면 다음과 같은 순서로 진행됩니다.

2.1 데이터베이스 생성

public class MySQLiteHelper extends SQLiteOpenHelper {
  private static final String DATABASE_NAME = "mydatabase.db";
  private static final int DATABASE_VERSION = 1;

  public MySQLiteHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
  }

  @Override
  public void onCreate(SQLiteDatabase db) {
    // 테이블 생성 및 초기 데이터 입력
    db.execSQL("CREATE TABLE contacts (_id INTEGER PRIMARY KEY, name TEXT, email TEXT)");
  }

  @Override
  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXISTS contacts");
    onCreate(db);
  }
}

2.2 데이터 조작

public class ContactDataSource {
  private SQLiteDatabase database;
  private MySQLiteHelper dbHelper;

  public ContactDataSource(Context context) {
    dbHelper = new MySQLiteHelper(context);
  }

  public void open() {
    database = dbHelper.getWritableDatabase();
  }

  public void close() {
    dbHelper.close();
  }

  public void insertContact(String name, String email) {
    ContentValues values = new ContentValues();
    values.put("name", name);
    values.put("email", email);
    database.insert("contacts", null, values);
  }

  public List<Contact> getAllContacts() {
    List<Contact> contacts = new ArrayList<Contact>();

    Cursor cursor = database.query("contacts", allColumns, null, null, null, null, null);

    cursor.moveToFirst();
    while (!cursor.isAfterLast()) {
      Contact contact = cursorToContact(cursor);
      contacts.add(comment);
      cursor.moveToNext();
    }

    cursor.close();
    return contacts;
  }
}

3. 데이터의 흐름

안드로이드 SQLite 데이터베이스에서 데이터는 앱 내부에서 생성 및 수정되며, 필요에 따라 외부 기기와 동기화될 수 있습니다. 데이터베이스로부터 데이터를 조회하거나 삽입하기 위해서는 SQLiteOpenHelper 및 SQLiteDatabase 클래스를 이용합니다.

SQLite 데이터베이스는 안드로이드 앱에서 손쉽게 데이터를 관리할 수 있는 강력한 도구입니다. 따라서 데이터 관리가 필요한 안드로이드 앱을 개발할 때는 SQLite 데이터베이스를 적극적으로 활용하는 것이 좋습니다.

안드로이드에서 SQLite 데이터베이스와 데이터 흐름에 대해 알아보았습니다. 이를 통해 안드로이드 앱에서 데이터를 효율적으로 관리하는 방법에 대한 이해를 높일 수 있을 것입니다.