Apple is Apple

일일 회고

 

할 일이 많다! 쓸 시간이 줄어든다! 어렵다!

 

추석 기간 이용해서 열심히 해보자...


오늘의 키워드

  • Room DB 기본 세팅

Room DB 기본 세팅

// AppDatabase.kt
@Database(entities = [MyPageEntity::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
    abstract fun myPageDao(): MyPageDao

    companion object {
        private var INSTANCE: AppDatabase? = null
        fun getDatabase(context: Context): AppDatabase {
            if (INSTANCE == null) {
                INSTANCE = Room.databaseBuilder(
                    context, AppDatabase::class.java, "my_page_db"
                ).build()
            }
            return INSTANCE as AppDatabase
        }
    }
}
// MyPageDao.kt
@Dao
interface MyPageDao {

    @Query("SELECT * FROM MyPageEntity")
    fun getAllVideos(): List<MyPageEntity>

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    fun insertVideo(model: MyPageEntity)

    @Delete
    fun deleteVideo(model: MyPageEntity)

    @Query("DELETE FROM MyPageEntity")
    fun deleteAllVideos()
}
// MyPageEntity.kt
@Entity
data class MyPageEntity (
    @PrimaryKey(autoGenerate = true)
    val id: Int?,
    @ColumnInfo
    val thumbnailUrl: String?,
    @ColumnInfo
    val title: String?,
    @ColumnInfo
    val description: String?
)

Room Database 기본 세팅을 진행하였다.

 

++ Retrofit 기본 세팅을 진행하였다.

https://github.com/y-media/pinktube/pull/14

 

 

BuildConfig 오류

AGP 8.0 이상부 BuildConfig 는 기본적으로 비활성화 되며 AGP 9.0부터는 사라졌다고 한다.

그래서 BuildConfig를 사용하기위해서 gradle에 사용설정을 해주어야한다.

    buildFeatures{
        buildConfig = true
    }

그리고 다시 빌드를 해주면 buildConfig를 사용할 수 있다.

profile

Apple is Apple

@mjjjjjj