MVC 패턴으로 응용 프로그램을 만들고 있습니다. 나는 거기에 속하지 않는 코드로 활동을 어지럽히 지 않는다. 그러나 나를 조금 넘어 뜨리는 것은 AsyncTask이다 ... 내가 보았던 것에서 이것이 UI에서 대부분의 시간이라고 불리는 것으로 보인다. 업데이트가 가능하기 때문입니다. 문제는 내 활동이 아닌 내 모델에서 AsyncTask를 사용하여 모든 네트워크 호출을 수행하고 있다는 것입니다. 하지만 네트워크 UI가 뭔가를 반환하는 등의 일이 생길 때 UI를 업데이트하고 싶습니다. 그래서 모델에서 Activity 또는 그 효과에 대한 콜백을 할 수있는 방법이 있습니다. 활동에 해당 코드를 넣지 않아도됩니까? 도움을 주시면 대단히 감사하겠습니다.모델에서 AsyncTask를 호출하여 활동을 업데이트하기 위해
1
A
답변
1
모델에 업데이트 "수신기"역할을하는 인터페이스가 필요합니다. 이렇게하면 활동이 활성 상태 일 때 청취자에게 등록되어 그에 따라 변경 사항에 대한 통지를 수신 할 수 있습니다.
많은 사례가 있습니다 (내장 청취자 클래스) - 여기에 하나입니다 모델에 등록되어있는 귀하의 활동에서 인터페이스를 만들기
http://www.tutorialspoint.com/java/java_interfaces.htm
가의 인터페이스를 알리기 위해 모델을 할 수 있습니다 제대로 업데이트하기 위해 데이터를 변경했습니다. 모델을 서비스로 구현하거나 서비스의 인스턴스를 유지 관리하는 경우 서비스에 바인딩 한 다음 모델 처리가 활동 수명을 초과한다고 가정 할 때 리스너를 등록 할 수 있습니다.
그렇지 않은 경우 AsyncTask는 모델 처리가 발생해야하는 곳이며 모델을 동기식으로 구현하고 리스너를 사용하여 모델을 모니터링 할 수 있습니다.
관련 문제
- 1. AsyncTask를 사용하여 ProgressDialog 업데이트하기
- 2. 진행 막대를 업데이트하기 위해 AsyncTask를 설정하는 방법은 무엇입니까?
- 3. 활동을 동결하지 않고 PCM AudioTrack을 재생하기 위해 AsyncTask를 사용하십시오.
- 4. WPF : MVVM에서 xaml을 동적으로 업데이트하기 위해 모델에서 이벤트를 처리하는 방법
- 5. 활동을 표시하지 않고 공유 활동을 통해 AsyncTask를 시작할 수 있습니까?
- 6. 알림을 위해 ASyncTask를 호출하십시오.
- 7. AsyncTask를 사용하여 활동을 자식 활동으로 시작하기
- 8. 테이블을 업데이트하기 위해 JSON 읽기
- 9. AsyncTask를 실행하는 동안 AsyncTask를
- 10. 연결된 목록을 업데이트하기 위해 모델을 트리거하는 방법
- 11. 어떻게 활동을 방지하기 위해?
- 12. 젠드 프레임 워크 - 같은 모델에서 두 개의 테이블 업데이트하기
- 13. AsyncTask를
- 14. 안드로이드 AsyncTask를 얻을() 다른 AsyncTask를 양식()
- 15. 은 내가 AsyncTask를 내 onPostexecute 방법에 활동을 업데이트하고
- 16. AsyncTask를
- 17. AsyncTask를 위해 LayoutInflater InflateException은 글고 치기에
- 18. NetworkOnSameThread 오류를 피하기 위해 AsyncTask를 사용하려고 시도했습니다.
- 19. NetworkOnMainThreadException을 제거하기 위해 AsyncTask를 만드는 방법은 무엇입니까?
- 20. 동적 자동 완성을 위해 perfromFilter에서 AsyncTask를 호출합니다.
- 21. 친구 목록을 얻기 위해 AsyncTask를 구현했습니다.
- 22. 안드로이드 폰에서 카메라 활동을 호출하여 찍은 이미지를 업로드하는 방법은 무엇입니까?
- 23. 안드로이드 생각 : AsyncTask를 TimerTask를에
- 24. Asynctask를 효과적으로 사용하는 방법
- 25. 보기를 업데이트하기 위해 NSThreads와 NSTimer를 섞음
- 26. mysql을 업데이트하기 위해 다른 도메인의 파일 읽기
- 27. 진행 모니터를 업데이트하기 위해 원격으로 알림 받기
- 28. JProgressBar를 업데이트하기 위해 lib에서 바이트를받는 방법?
- 29. 버전으로 파일을 업데이트하기 위해 커밋 후크를 게시하십시오.
- 30. 데이터베이스의 부울을 업데이트하기 위해`link_to '를 사용합니다.