RoomDb

Lib


implementation 'android.arch.persistence.room:runtime:2.2.3'annotationProcessor 'android.arch.persistence.room:compiler:2.2.3'
 
 

AppDatabase.java


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

import com.example.retrofitdemo1.Movie;

import static com.google.gson.internal.$Gson$Types.arrayOf;

@Database(entities = {Task.class,NewTask.class}, version = 2)
public abstract class AppDatabase extends RoomDatabase {
    public abstract TaskDao taskDao();
    public abstract NewTaskDao newTaskDao();
}
 
 
 

TaskDao.java

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

import java.util.List;

@Daopublic interface TaskDao {
    @Query("SELECT * FROM task")
    List<Task> getAll();

    @Insert    void insert(Task task);

    @Delete    void delete(Task task);

    @Update    void update(Task task);
}

Task.java

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

import com.google.gson.annotations.SerializedName;

import java.io.Serializable;

@Entitypublic class Task implements Serializable {
    @PrimaryKey(autoGenerate = true)
    private int id;

    @ColumnInfo(name = "task")
    private String task;

    @ColumnInfo(name = "desc")
    private String desc;

    @ColumnInfo(name = "finish_by")
    private String finishBy;

    @ColumnInfo(name = "finished")
    private boolean finished;


    /*     * Getters and Setters     * */    public int getId() {
        return id;
    }

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

    public String getTask() {
        return task;
    }

    public void setTask(String task) {
        this.task = task;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public String getFinishBy() {
        return finishBy;
    }

    public void setFinishBy(String finishBy) {
        this.finishBy = finishBy;
    }

    public boolean isFinished() {
        return finished;
    }

    public void setFinished(boolean finished) {
        this.finished = finished;
    }
}


MainActivity.java

class SaveTask extends AsyncTask<Void, Void, Void> {

        @Override        protected Void doInBackground(Void... voids) {

            //creating a task            Task tasks = new Task();
            tasks.setTask("New Task");
            tasks.setDesc("New");
            tasks.setFinishBy("Me");
            tasks.setFinished(false);

            //adding to database            DatabaseClient.getInstance(getApplicationContext()).getAppDatabase()
                    .taskDao()
                    .insert(tasks);
            return null;
        }

        @Override        protected void onPostExecute(Void aVoid) {
            super.onPostExecute(aVoid);
//            finish();            new GetTasks().execute();
//            startActivity(new Intent(getApplicationContext(), MainActivity.class));            Toast.makeText(getApplicationContext(), "Saved", Toast.LENGTH_LONG).show();
        }
     }


        class GetTasks extends AsyncTask<Void, Void, List<Task>> {

            @Override            protected List<Task> doInBackground(Void... voids) {
                List<Task> taskList = DatabaseClient
                        .getInstance(getApplicationContext())
                        .getAppDatabase()
                        .taskDao()
                        .getAll();
                return taskList;
            }

            @Override            protected void onPostExecute(List<Task> tasks) {
                super.onPostExecute(tasks);

            }
        }

 

 

No comments:

Post a Comment