Skip to content

gzeinnumer/AndroidJetpackRoomKT

Repository files navigation

AndroidJetpackRoom

Room database like SQLLite

Start Room

  • Add dependencies
def room_version = "2.2.5"
implementation "android.arch.persistence.room:runtime:$room_version"
kapt "android.arch.persistence.room:compiler:$room_version"
  • SampleTable
@Entity(tableName = "sample_table")
class SampleTable(
    @field:PrimaryKey(autoGenerate = true)
    var id: Int,
    var name: String
)
  • SampleTableDao
@Dao
interface SampleTableDao {
    @Query("SELECT * FROM sample_table")
    fun getAll(): List<SampleTable>

    @Insert
    fun insertAll(vararg sampleTables: SampleTable)

    @Delete
    fun delete(sampleTable: SampleTable)
}
  • AppDatabase
@Database(entities = [SampleTable::class], version = 3)
abstract class AppDatabase : RoomDatabase() {

    abstract fun sampleTableDao(): SampleTableDao

    companion object {

        private val TAG = "AppDatabase"
        private val dbName = "ExternalBase64Md5ToZip.db"

        fun getInstance(context: Context): AppDatabase {
            return Room.databaseBuilder(context, AppDatabase::class.java,dbName)
                .setJournalMode(JournalMode.TRUNCATE)
                .allowMainThreadQueries()
                .build()
        }
    }
}

Copyright 2020 M. Fadli Zein

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published