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