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