0
IO/17에 도입 된 ViewModel을 사용하고 있습니다.ViewModel에서 네트워크 작업 수행
다음 가이드 라인은 Android 개발자 페이지에서 제공하고 있습니다. https://developer.android.com/topic/libraries/architecture/viewmodel.html
다음은 샘플 코드입니다.
public class MyViewModel extends ViewModel {
private MutableLiveData<List<User>> users;
public LiveData<List<User>> getUsers() {
if (users == null) {
users = new MutableLiveData<List<Users>>();
loadUsers();
}
return users;
}
private void loadUsers() {
// do async operation to fetch users
}
}
은 내가 'loadUsers()'방식으로 발리의 요청을 수행하고 싶습니다.
Volley.newRequestQueue(context).add(jsonObjectRequest);
그래서 내 질문은 다음과 같이가 '을 맥락'이 필요하지만 나는
- 이 권장 (또는 가능)을 뷰 모델 내부 네트워크 작업을 수행하는 것입니다, 그것을 할 수 있습니까 ??
- 예 (가능하면) 어떻게할까요?
내 대답은 ... 늦게 게시 ... VM에서 API 호출을 만들 수 있습니다. 그러나 내가 발리 슛을 사용하고 있었기 때문에 문제를 일으키는 컨텍스트 외부의 컨텍스트 (activity/fragment)를 전달하는 것이 유일한 문제였습니다. 개장을 통해이 문제를 해결했습니다. –