Я пытаюсь сделать процесс реестра, вызывающий API отдыха с модификацией. Я использую шаблон MVVM, где вызов дооснащения находится в UserRepository. Я пытаюсь получить ответ API на View для вывода сообщения в зависимости от ответа представления. Я пытаюсь проверить эту ссылку для справки: Как связать ViewModel с репозиторием, чтобы данные передавались в представление (MVVM, Livedata)
Но безуспешно, я не получаю никаких ссылок sh на наблюдателя.
Есть код:
Репозиторий
MutableLiveData<Response<ResponseBody>> registryResponse = new MutableLiveData<>();
public LiveData<Response<ResponseBody>> registerUser(User user) {
Call<ResponseBody> call = ServiceGenerator.getServiceInstance().getHomelancerApi().registerUser(user);
String url = call.request().url().toString();
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
// String text = response.body().toString();
Log.println(Log.VERBOSE,"TESTE-IN",response.message());
registryResponse.setValue(response);
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.println(Log.VERBOSE,"TESTE-ERROR",t.getMessage());
System.out.println("TESTEFAIL:"+t);
}
});
return registryResponse;
}
ViewModel
private LiveData<Response<ResponseBody>> responseMessage = new MutableLiveData<>();
public void onRegisterClick(View view) {
User user = new User(email.getValue(), password.getValue(), name.getValue(), false, city.getValue());
System.out.println(user.getUserName());
responseMessage = userRepository.registerUser(user);
}
public LiveData<Response<ResponseBody>> getResponseLiveData(){
return responseMessage;
}
Просмотр
registerViewModel.getResponseLiveData().observe(this, new Observer<Response<ResponseBody>>() {
@Override
public void onChanged(Response<ResponseBody> responseBodyResponse) {
if(responseBodyResponse.code()==200){
Toast.makeText(RegisterActivity.this,"Registration Successful, Please Check your email to verify your account!",Toast.LENGTH_LONG).show();
}
}
});
С уважением и благодарностью