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")
classSampleTable(
@field:PrimaryKey(autoGenerate = true)
varid:Int,
varname:String
)- SampleTableDao
@Dao
interfaceSampleTableDao {
@Query("SELECT * FROM sample_table")
fungetAll(): List<SampleTable>
@Insert
funinsertAll(varargsampleTables:SampleTable)
@Delete
fundelete(sampleTable:SampleTable)
}- AppDatabase
@Database(entities = [SampleTable::class], version =3)
abstractclassAppDatabase : RoomDatabase() {
abstractfunsampleTableDao(): SampleTableDaocompanionobject {
privatevalTAG="AppDatabase"privateval dbName ="ExternalBase64Md5ToZip.db"fungetInstance(context:Context): AppDatabase {
returnRoom.databaseBuilder(context, AppDatabase::class.java,dbName)
.setJournalMode(JournalMode.TRUNCATE)
.allowMainThreadQueries()
.build()
}
}
}Copyright 2020 M. Fadli Zein