Как получить всю информацию из таблицы, не используя Live Data? - PullRequest
0 голосов
/ 21 мая 2019

Я хочу получить список из базы данных комнат в Android без использования LiveData.

Я пробовал это: Как получить все данные из таблицы комнат в Android с помощью асинхронной задачи в списке с некоторыми изменениями, потому что у меня есть репозиторий и ViewModel реализованы.Проблема не в любом из этих двух, потому что все остальное работает.

Вот что я пробовал:

Дао :

@Query("SELECT * from data_table")
List<Data> getAllData();

Репозиторий :

public List<Data> getAllData(){
    return new getAllDataAsyncTask(mCobigDao).execute().get();
}

private class getAllDataAsyncTask extends AsyncTask<Void, Void,List<Data>>
{
    private CobigDao mAsyncTaskDao;

    getAllDataAsyncTask(CobigDao dao) { mAsyncTaskDao = dao;}


    @Override
    protected List<Data> doInBackground(Void... voids) {
        return mAsyncTaskDao.getAllData();
    }
}

get () выбрасывает java.lang.InterruptedException.

ViewModel :

List<com.example.android.cobig.Data> getAllData () {return 
mRepository.getAllData();}
...