Skip to content

Instantly share code, notes, and snippets.

@malikkurosaki
Last active October 23, 2019 02:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save malikkurosaki/97e4f239c3091bf80d79b7adbdccfc44 to your computer and use it in GitHub Desktop.
Save malikkurosaki/97e4f239c3091bf80d79b7adbdccfc44 to your computer and use it in GitHub Desktop.
adtabase room android

database room

buat tabel class

package dev.malikkurosaki.patungan.DbRoom;


import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.Ignore;
import androidx.room.PrimaryKey;

// @Entity(tableName = "tabel_Jenis",indices = {@Index(value = "id",unique = true)})
@Entity(tableName = "person")
public class PersonDb  {
    //@PrimaryKey(autoGenerate = true)
    @PrimaryKey
    private int id;
    @ColumnInfo(name = "name")
    private String nama;
    @ColumnInfo(name = "city")
    private String city;


    public PersonDb(){

    }


    public PersonDb(int id, String nama, String city) {
        this.id = id;
        this.nama = nama;
        this.city = city;
    }

    @Ignore
    public PersonDb(String nama, String city) {
        this.nama = nama;
        this.city = city;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNama() {
        return nama;
    }

    public void setNama(String nama) {
        this.nama = nama;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }
}

buat interface

package dev.malikkurosaki.patungan.DbRoom;


import java.util.List;

import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;

@Dao
public interface PersonDbDao {

    @Query("select * from person")
    List<PersonDb> getAllPerson();

    @Insert
    void insertPerson(PersonDb personDb);

    @Update
    void updatePerson(PersonDb personDb);

    @Delete
    void deletePerson(PersonDb personDb);
}

buat database

package dev.malikkurosaki.patungan.DbRoom;


import android.content.Context;

import androidx.room.Database;
import androidx.room.Room;
import androidx.room.RoomDatabase;

// @Database(entities = {Db.class,DB2.class,DB3.class},exportSchema = false ,version = 1)
@Database(entities = PersonDb.class,exportSchema = false ,version = 1)
public abstract class PersonDbRoom extends RoomDatabase {
    private static final String DB_NAME = "person_db";
    private static PersonDbRoom instance;

    public static synchronized PersonDbRoom getInstance(Context context){
        if (instance == null){
            instance = Room.databaseBuilder(context.getApplicationContext(),PersonDbRoom.class,DB_NAME).fallbackToDestructiveMigration().build();
        }

        return instance;
    }

    public abstract PersonDbDao personDbDao();
}

implementasinya

 AsyncTask.execute(()->{
            PersonDbRoom dbRoom = PersonDbRoom.getInstance(context);

            PersonDb personDb = new PersonDb();
            personDb.setId(1);
            personDb.setNama("malikkurosaki");
            personDb.setCity("denpasar");
            dbRoom.personDbDao().updatePerson(personDb);
            List<PersonDb> orang = dbRoom.personDbDao().getAllPerson();
            for (PersonDb db : orang){
                Log.i(TAG, "init: "+db.getId());
            }

        });

dependencynya

   // room database
    implementation "androidx.room:room-runtime:2.2.0"
    annotationProcessor "androidx.room:room-compiler:2.2.0"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment