본문 바로가기

분류 전체보기40

토이프로젝트 1-5 room 써보기 먼저 Room에 대한 간단한 설명은... Room이 뭐야? 간단히 설명 Room이 뭐야? 간단히 설명 Room은 안드로이드에서 SQLite 데이터베이스를 쉽게 사용할 수 있도록 도와주는 라이브러리야. Room은 Android Architecture Components 라이브러리 중 하나로, 안드로이드 앱의 데이터베이스를 관리하고 제 www.lonewhite.com 먼저 Room을 가져오려면 maven을 통해 가져와햐해 Maven이 뭐냐고? maven이란? 개념 maven이란? 개념 Maven은 자바 기반 프로젝트의 빌드, 관리, 배포를 자동화하기 위한 도구야. Maven은 Apache Software Foundation라는 곳에서 개발하였으며, 프로젝트의 라이프사이클 관리와 의존성 관리를 중심으로 제공 .. 2023. 3. 12.
room 쓸 때 SQLITE_CONSTRAINT_PRIMARYKEY 에러나면? 난 그냥 id에 -1 넣으면 알아서 해주는 줄 알았는데 그러면 안됨 @Entity(tableName = INV_ITEM_TABLE_NAME) data class InvItem( @PrimaryKey val id: Int, @ColumnInfo(name = "item_name") val itemName: String, @ColumnInfo(name = "item_original_id") val itemOriginalId: String?, @ColumnInfo(name = "price") val price: Int, @ColumnInfo(name = "buy_date") @TypeConverters(DateConverter::class) val buyDate: Date, @ColumnInfo(name = ".. 2023. 3. 12.
룸 쓸때 AppDatabase_Impl does not exist 에러나면? 나같은 경우는... TypeConveter 쓰는 부분이 문제였고, 해결방안은... DataClass 뿐만 아니라 RoomDatabase 클래스에도 선언을 해주니 해결됨 요렇게 @Database(entities = [InvItem::class], version = 1) @TypeConverters(DateConverter::class) abstract class AppDatabase : RoomDatabase() { abstract fun invItemDao(): InvItemDao 2023. 3. 12.
토이프로젝트 1-4 모듈 만들기 원래는 room 부터 할려고 했는데, 이왕 하는거 제대로 해볼려고함. mvvm도 할꺼고 하니깐 그래서 모듈부터 하나 추가할려고. 앱 개발할 때 모듈로 나눈 이유는? 먼저 File - New - New Module을 선택하고, 거기서 나오는 것 중에서 안드로이드 라이브러리를 선택해. 나중에 여기다 room을 넣을꺼라서 안드로이드로 선택하는거야. 그리고 gradle sync가 되면 아래처럼 모듈이 추가되지. 잘 되었는지 확인해볼까? 프로젝트의 root의 settings.gradle을 보면, data라고 추가된 것을 볼 수 있을꺼야 근데 이것만 하면 app 빌드 할 때 data 모듈이 포함되서 빌드되지는 않아. 그래서, app에서는 data 모듈을 쓸꺼에요 라고 알려줘야해. app의 build.gradle 파.. 2023. 3. 9.
반응형