4

내 앱에서 내비게이션 탭을 사용합니다. 나는 인터넷에서 다른 데이터를로드하는 세 조각이 있습니다. onCreate, onCreateView 또는 onActivityCreated에 HTTP 요청을하는 코드를 넣을 최적의 장소를 알고 싶습니다.Fragment onCreateView, onCreate 또는 onActivityCreated에서 HTTP 요청을 만드시겠습니까?

일반적으로 onCreateView에 모든 코드 (데이터 요청, 어댑터 채우기,보기 펼치기 ...)를 넣습니다. 나는 또한 많은 사람들이 인터넷에서 그것을하는 것을 보았다.

하지만이 가이드 https://github.com/thecodepath/android_guides/wiki/Creating-and-Using-Fragments은 다른 방식으로 작동합니다. 그래서 정확히 무엇을해야하는지 확신하고 싶습니다.

+0

대답이 있습니다. plz 귀하의 답변을 게시 @tsil –

답변

0

필자는 일반적으로 onResume()에 새로운 상태로보기를 새로 고치기 위해 코드를 삽입합니다. onCreateView에서만 뷰를 부 풀려서 어댑터 등을 설정할 수 있습니다.

또한 데이터를 얼마나 신선하게 만들지에 따라 달라집니다. 사용자가 앱을 시작할 때만로드하면됩니다.이 스크립트를 Activity의 onCreate에로드 한 다음 한 조각의 모든 데이터를로드합니다. 그런 다음 데이터를 저장하고 다른 조각으로 검색 할 수 있습니다.

또한 항상 인터넷의 데이터를 다른 스레드에서로드하려고합니다. 조각 자체에서 데이터를로드 할 때 설정하면 onCreate에서 asynctask를 시작하고 asyntask에서 콜백의 조각에 대한 뷰를 새로 고칩니다. onCreateView에서 기본값을 설정하거나 텍스트 또는 다른 알림을 통해 데이터가 전달되고 있음을 사용자에게 알릴 수 있습니다.

진짜 신선한 데이터를 원하면 조각의 onResume()에서 asynctask를 시작할 수 있습니다.