Я использую библиотеку room с android. Когда я что-то вставляю в базу данных, я получаю данные для текущего запущенного приложения, но когда я перезапускаю приложение, на экране ничего не отображается. Как получить ранее сохраненные данные without using LiveData?
Если вы хотите получить предыдущие данные, следующий Codelab может вам помочь. Но это действительно зависит от вашей реализации.
How to get previous stored data without using LiveData ? How to get all rows stored in the
roomlibrary usingAsync Task?
Объяснение:
В Your Dao включите следующий код:
@Query("SELECT * FROM user")
List<CustomObject> getAll();
В свой класс репозитория включите этот фрагмент:
public List<CustomObject> getAll() throws ExecutionException, InterruptedException {
return new getAllAsyncTask(mCustomObjectDao).execute().get();
}
private static class getAllAsyncTask extends android.os.AsyncTask<Void, Void, List<CustomObject>> {
private CustomObjectDao mAsyncTaskDao;
List<CustomObject> a;
getAllAsyncTask(CustomObjectDao dao) {
mAsyncTaskDao = dao;
}
@Override
protected List<CustomObject> doInBackground(Void... voids) {
return mAsyncTaskDao.getAll();
}
}
Это полностью зависит от вашего кода и того, что вы делаете, а также от личных предпочтений.