Мне нужно передать параметр своему Дао, чтобы я мог запросить пользователя.
UserDao
@Query("SELECT * FROM users_table WHERE id == :id AND active = 'true'")
LiveData<User> getUser(int id);
UserRepository
private LiveData<User> user;
private UserDao userDao;
private LiveData<List<User>> allUsers;
public UserRepository(Application application) {
AtsDatabase database = AtsDatabase.getInstance(application);
userDao = database.userDao();
allUsers = userDao.getUsers();
}
public void getUser(int id) {
new getUserAsyncTask(userDao).execute(id); <===== I get an error on the userDao part. I don't know how to pass my 'id'
}
private static class getUserAsyncTask extends AsyncTask<Integer, Void, Void> {
private UserDao userDao;
@Override
protected Void doInBackground(Integer... integers) {
userDao.getUser(integers[0]);
return null;
}
}