add base room implementation

This commit is contained in:
Carlos Martinez
2020-02-02 14:03:11 -03:00
parent 46be4aca10
commit 14e9eff325
10 changed files with 50 additions and 6 deletions

View File

@@ -12,6 +12,8 @@ android {
minSdkVersion build_versions.min_sdk
targetSdkVersion build_versions.target_sdk
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
buildConfigField "String", "DB_NAME", '"friendlists.db"'
}
compileOptions {

View File

@@ -0,0 +1,16 @@
package com.hako.base.di
import androidx.room.Room
import com.hako.base.BuildConfig
import com.hako.base.room.BaseDatabase
import org.koin.dsl.module
val baseModule = module {
// Room database
single { Room.databaseBuilder(get(), BaseDatabase::class.java, BuildConfig.DB_NAME).build() }
factory { get<BaseDatabase>().userDao() }
factory { get<BaseDatabase>().albumDao() }
factory { get<BaseDatabase>().photoDao() }
}

View File

@@ -10,7 +10,7 @@ import com.hako.base.room.entities.PhotoEntity
import com.hako.base.room.entities.UserEntity
@Database(entities = [UserEntity::class, AlbumEntity::class, PhotoEntity::class], version = 1, exportSchema = false)
abstract class Database : RoomDatabase() {
abstract class BaseDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
abstract fun albumDao(): AlbumDao
abstract fun photoDao(): PhotoDao

View File

@@ -19,7 +19,7 @@ interface AlbumDao {
val all: List<AlbumEntity>
@Query("SELECT COUNT(*) FROM ${AlbumEntity.TABLE_NAME}")
fun count(page: Int): Int
fun count(): Int
@Query("DELETE FROM ${AlbumEntity.TABLE_NAME}")
fun nukeDatabase()

View File

@@ -19,7 +19,7 @@ interface PhotoDao {
val all: List<PhotoEntity>
@Query("SELECT COUNT(*) FROM ${PhotoEntity.TABLE_NAME}")
fun count(page: Int): Int
fun count(): Int
@Query("DELETE FROM ${PhotoEntity.TABLE_NAME}")
fun nukeDatabase()

View File

@@ -19,7 +19,7 @@ interface UserDao {
val all: List<UserEntity>
@Query("SELECT COUNT(*) FROM ${UserEntity.TABLE_NAME}")
fun count(page: Int): Int
fun count(): Int
@Query("DELETE FROM ${UserEntity.TABLE_NAME}")
fun nukeDatabase()