Room database like SQLLite
Start Room
- Add dependencies
def room_version ="2.2.5"
implementation "android.arch.persistence.room:runtime:$room_version"
annotationProcessor "android.arch.persistence.room:compiler:$room_version"- SampleTable
@Entity(tableName = "sample_table")
publicclassSampleTable {
publicSampleTable(intid, @NonNullStringname) {
this.id = id;
this.name = name;
}
@NonNull@PrimaryKey(autoGenerate = true)
publicintid;
@NonNull@ColumnInfo(name = "name")
publicStringname;
}- SampleTableDao
@DaopublicinterfaceSampleTableDao {
@Query("SELECT * FROM sample_table")
List<SampleTable> getAll();
@InsertvoidinsertAll(SampleTable... sampleTables);
@Deletevoiddelete(SampleTablesampleTable);
}- AppDatabase
@Database(entities = {SampleTable.class}, version = 3)
publicabstractclassAppDatabaseextendsRoomDatabase {
privatestaticfinalStringTAG = "AppDatabase";
publicstaticStringdbName = "ExternalBase64Md5ToZip.db";
publicabstractSampleTableDaosampleTableDao();
publicstaticAppDatabasegetInstance(Contextcontext) {
returnRoom.databaseBuilder(context,AppDatabase.class, dbName)
.allowMainThreadQueries()
.build();
}
}Copyright 2020 M. Fadli Zein