在MVVM模式下使用会议室数据库进行用户验证检查

时间:2018-06-29 09:08:00

标签: android

我是Android的新手,我正在尝试开发一个应用程序。在用户输入用户名和密码后,在登录屏幕中,我想通过查询数据库来检查用户是否已注册。如果该用户已注册,他将被带到主屏幕,如果该用户未注册,则会显示一条消息,提示“该用户未注册”。我正在使用异步任务进行数据库查询,因为即使在异步任务完成之前,即使注册了用户,主线程的执行也会继续执行,但我始终会收到“用户未注册”的消息。但是在调试时,它工作良好。我正在将Room的MVVM模式用于数据库操作。

在主活动中,我正在获取userDetails:

User user = mviewModel.getUser(UserId.getText().toString());

ViewModelClass:

    public User getUser(String userid){
    return muserRepository.getUser(userid);
    }

存储库类:

 public User getUser(String userid){

     new getUserAsyncTask(muserdao).execute(userid);

         return userVal;
}

 private class getUserAsyncTask extends AsyncTask<String,Void,User>{
    private userDao mgetUserDao;

    public getUserAsyncTask(userDao userdao){
        this.mgetUserDao = userdao;
    }


    @Override
    protected User doInBackground(String... strings) {
        User user = mgetUserDao.getUser(strings[0]);

        return user;
    }

    @Override
    protected void onPostExecute(User user) {
        userVal = user;
    }

请帮助我进行用户验证检查。 谢谢

0 个答案:

没有答案