Комната МВВМ. Как обрабатывать потенциальные ошибки при сохранении? - PullRequest
0 голосов
/ 09 февраля 2020

Я хочу сохранить объекты в базе данных комнат в 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;
    }
}
}
...