데이터베이스 및 RecyclerView

이 개발자 과정의 첫 번째 부분에서는 Room 라이브러리를 사용하여 데이터베이스를 만들고 코루틴을 사용하여 비동기 프로그래밍을 간소화합니다. 이 개발자 과정의 두 번째 부분에서는 RecyclerView를 사용하여 항목의 목록을 표시하고 목록 항목을 클릭 가능하도록 설정합니다. 개발자 과정 전반에 걸쳐 사용자가 수면의 질을 평가하고 시간 경과에 따라 수면 데이터를 저장할 수 있는 TrackMySleep 앱을 빌드하게 됩니다.

 

Room 데이터베이스 만들기

Codelab

TrackMySleep 앱의 시작 코드를 가져옵니다. 그런 다음 Android 앱의 데이터 저장소 지속성을 위해 Room을 사용합니다. Room은 Android Jetpack의 일부인 데이터베이스 라이브러리로, 데이터베이스 설정 및 관리를 비롯한 여러 작업을 처리하여 기본 SQLite 데이터베이스에 관한 추상화 레이어를 제공합니다. 상용구 코드를 적게 사용하면 데이터베이스와 더 쉽게 상호작용할 수 있습니다.

Room에서 코루틴 사용

Codelab

Kotlin 코루틴을 사용하여 Android 앱의 장기 실행 작업을 원활하고 효율적으로 처리하세요. Room에서는 코루틴을 지원하므로 데이터베이스 액세스 및 업데이트와 같은 비동기 작업에 코루틴을 사용하도록 앱을 리팩터링합니다.

LiveData를 사용하여 버튼 상태 제어

Codelab

TrackMySleep 앱을 확장하여 품질 평점을 수집하고 데이터베이스에 평점을 추가한 후 결과를 표시합니다. LiveData를 사용하여 스낵바 표시를 트리거하고 버튼을 사용 설정 또는 사용 중지합니다.

RecyclerView 기초

Codelab

이 개발자 과정의 나머지 부분에 도움이 되는 추가 애셋 및 유틸리티가 포함된 TrackMySleep 앱의 다음 단계를 가져옵니다. Android 앱에서 RecyclerView를 사용하여 항목 목록을 효율적으로 표시합니다.

RecyclerView를 사용한 DiffUtil 및 데이터 결합

Codelab

대규모 목록에서 RecyclerView를 더 효율적으로 만들고, 코드를 더 쉽게 유지관리하고 더 복잡한 UI를 위해 확장하도록 하는 추가 기법을 알아보세요.

RecyclerView의 그리드 레이아웃

Codelab

TrackMySleep 앱에서 RecyclerView로 표시된 수면 데이터 목록을 수면 데이터의 그리드 레이아웃으로 바꿉니다.

RecyclerView 항목과 상호작용

Codelab

항목을 탭하면 사용자가 세부정보 화면으로 이동하도록 RecyclerView의 항목을 클릭 가능하도록 설정합니다.

RecyclerView에 헤더 추가

Codelab

TrackMySleep 앱의 목록과 그리드에 헤더를 추가합니다.

데이터베이스 및 RecyclerView 퀴즈

이해도를 테스트하고 데이터베이스 및 RecyclerView 배지를 획득하세요.