[android] 안드로이드 SQLite 데이터베이스와 RecyclerView 연동

목차

  1. 소개
  2. SQLite 데이터베이스 설정
  3. RecyclerView 구현
  4. 데이터베이스와 RecyclerView 연동
  5. 마무리

1. 소개

안드로이드 앱에서 SQLite 데이터베이스를 사용하여 로컬 데이터를 저장하고 이를 RecyclerView를 사용하여 화면에 표시하는 방법에 대해 알아보겠습니다.

2. SQLite 데이터베이스 설정

안드로이드 앱에서 SQLite를 사용하기 위해서는 SQLiteOpenHelper 클래스를 상속받아 데이터베이스를 생성하고 버전 관리를 해주어야 합니다. 또한 필요에 따라 테이블을 생성하고 데이터를 추가, 수정, 삭제할 수 있는 메서드를 구현해야 합니다.

public class DBHelper extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "my_database";
    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 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);
    }
}

3. RecyclerView 구현

RecyclerView를 화면에 표시하기 위해서는 RecyclerViewAdapter 클래스를 구현해야 합니다. 또한 데이터 아이템의 레이아웃을 정의하는 ViewHolder 클래스도 함께 구현해야 합니다.

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
    // Adapter 구현
}

public class MyActivity extends AppCompatActivity {
    private RecyclerView recyclerView;
    
    protected void onCreate(Bundle savedInstanceState) {
        // RecyclerView 설정
        recyclerView = findViewById(R.id.recycler_view);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        recyclerView.setAdapter(new MyAdapter());
    }
}

4. 데이터베이스와 RecyclerView 연동

SQLite 데이터베이스에서 데이터를 가져와 RecyclerView에 표시하기 위해서는 데이터베이스에서 데이터를 읽어와서 RecyclerView에 연결된 Adapter에 전달해주어야 합니다.

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
    private List<String> data;
    
    public MyAdapter(List<String> data) {
        this.data = data;
    }
    
    // Adapter 구현
}

public class MyActivity extends AppCompatActivity {
    private RecyclerView recyclerView;
    private DBHelper dbHelper;
    
    protected void onCreate(Bundle savedInstanceState) {
        // DBHelper 초기화
        dbHelper = new DBHelper(this);
        
        // 데이터베이스에서 데이터 가져오기
        List<String> dataList = dbHelper.getData();
        
        // RecyclerView 설정
        recyclerView = findViewById(R.id.recycler_view);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        recyclerView.setAdapter(new MyAdapter(dataList));
    }
}

5. 마무리

이제 안드로이드 SQLite 데이터베이스와 RecyclerView를 연동하는 방법에 대해 알아보았습니다. 데이터베이스와 RecyclerView를 연동하여 앱 사용자에게 보다 효과적으로 로컬 데이터를 표시할 수 있게 되었습니다.

참고 자료