Я хочу сохранить объекты в базе данных комнат в MVVM, но не знаю, как обрабатывать потенциальные ошибки. Я знаю, что LiveData / MutableLiveData может обрабатывать ошибки при загрузке списка, но я не знаю, как их обрабатывать при сохранении. Я создал хранилище классическим способом c:
Репозиторий:
@Singleton
public class TaskRepository {
private final TaskDao taskDao;
private TaskDatabase taskDatabase;
private LiveData<List<Task>> allTasks;
@Inject
public TaskRepository(TaskDao taskDao) {
this.taskDao = taskDao;
}
public LiveData<List<Task>> getAllTasks() {
return allTasks;
}
public void insert(Task task) {
new InsertTaskAsyncTask(taskDao).execute(task);
}
private static class InsertTaskAsyncTask extends AsyncTask<Task, Void, Void> {
private TaskDao taskDao;
private InsertTaskAsyncTask(TaskDao taskDao) {
this.taskDao = taskDao;
}
@Override
protected Void doInBackground(Task... tasks) {
return null;
}
}
}