안드로이드에서 앱 내부에 데이터를 관리하는 기능을 하는 Room 사용법에 대하여 알아보겠습니다.
이번 시간에는 기본 설정을 해보겠습니다.
아래 링크를 들어가시면 Room에 대한 상세한 정보를 보실 수 있습니다.
https://developer.android.com/training/data-storage/room?hl=ko
build.gradle(Module:프로젝트명:app)
dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.
def roomVersion = "2.4.2"
implementation("androidx.room:room-runtime:$roomVersion")
annotationProcessor("androidx.room:room-compiler:$roomVersion")
- 설명 -
1. @Entity(tableName = "user")
데이터가 들어갈 테이블로 지정
2. @PrimaryKey
테이블 기본키로 지정
3. @ColumnInfo
테이블 컬럼으로 지정
@Entity(tableName = "user")
data class User(
@PrimaryKey(autoGenerate = true)
val id: Int?,
@ColumnInfo(name = "userName")
val userName: String?,
@ColumnInfo(name = "userAge")
val userAge: String?
)
- 설명 -
1. @Dao
테이블 데이터에 접근할 있도록 지정
2. 등록(Insert), 조회(Select), 수정(Update), 삭제(Delete)하는 기능을 제공
@Dao
interface UserDao {
@Query("SELECT * FROM user")
fun getAllUser(): List<User>
@Insert
fun insertUser(user: User)
@Update
fun updateUser(user: User)
@Delete
fun deleteUser(user: User)
}
- 설명 -
1. @Database
데이터베이스로 지정
2. 테이블 접근할 수 있는 DAO 인스턴스제공
@Database(entities = [User::class], version = 1)
abstract class AppDatabase: RoomDatabase(){
abstract fun userDao(): UserDao
companion object{
private var INSTANCE: AppDatabase? = null
fun getDatabase(context: Context): AppDatabase?{
if(INSTANCE == null){
INSTANCE = Room.databaseBuilder(
context.applicationContext,
AppDatabase::class.java,
"app_database")
.allowMainThreadQueries()
.build()
}
return INSTANCE
}
}
}
2022.06.20 - [안드로이드] - [안드로이드 코틀린] 밀어서 화면 변경 ViewPager2 갤러리 느낌으로 만드는 방법
2022.06.14 - [안드로이드] - [안드로이드 코틀린] Tab Custom Animation part1 - 화면 구성 및 설정
2022.06.06 - [안드로이드] - [안드로이드 코틀린] 커스텀 달력 만드는 방법 part1 화면 구성
[안드로이드 코틀린] Database Room 사용법 part3 - 리스트 (0) | 2022.06.26 |
---|---|
[안드로이드 코틀린] Database Room 사용법 part2 - 데이터 등록 (0) | 2022.06.25 |
[안드로이드 코틀린] 밀어서 화면 변경 ViewPager2 화면 변경 버튼 만드는 방법 (0) | 2022.06.23 |
[안드로이드 코틀린] 밀어서 화면 변경 ViewPager2 화면 변경 위치 표시(Indicator) 직접 만드는 방법 (0) | 2022.06.22 |
[안드로이드 코틀린] 밀어서 화면 변경 ViewPager2 화면 변경 위치 표시(Indicator) 해주는 방법 (0) | 2022.06.21 |
댓글 영역