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")
public class SampleTable {
public SampleTable(int id, @NonNull String name) {
this.id = id;
this.name = name;
}
@NonNull
@PrimaryKey(autoGenerate = true)
public int id;
@NonNull
@ColumnInfo(name = "name")
public String name;
}
- SampleTableDao
@Dao
public interface SampleTableDao {
@Query("SELECT * FROM sample_table")
List<SampleTable> getAll();
@Insert
void insertAll(SampleTable... sampleTables);
@Delete
void delete(SampleTable sampleTable);
}
- AppDatabase
@Database(entities = {SampleTable.class}, version = 3)
public abstract class AppDatabase extends RoomDatabase {
private static final String TAG = "AppDatabase";
public static String dbName = "ExternalBase64Md5ToZip.db";
public abstract SampleTableDao sampleTableDao();
public static AppDatabase getInstance(Context context) {
return Room.databaseBuilder(context,AppDatabase.class, dbName)
.allowMainThreadQueries()
.build();
}
}
Copyright 2020 M. Fadli Zein