Android 태블릿 애플리케이션을 개발 중이며 화면 방향 (가로 및 세로)을 구현해야합니다. 화면 방향이 변경되면 asyntactask가 다시 다시 시작됩니다. (때때로 응용 프로그램 충돌) asynctask 다시 시작을 중지하고 데이터를 다시 요청해야합니다. 기존 json 데이터를 새 화면에로드하려고합니다. 어떤 도움을 주셔서 감사합니다.
approch : android:configChanges="keyboardHidden|orientation|screenSize"
조각 클래스를 사용하고 있기 때문에 작동하지 않습니다.
어떻게 든 작동하도록하기 위해 해킹 (구성 변경 음소거 또는 인스턴스 유지 포함)을 찾을 수 있지만 실제로 AsyncTask
는 악의적 이며 대부분의 시간을 최대한 멀리 유지해야합니다.
현재 경우 AsyncTask
의 작업이 당신의 내부를 표시하기 전에 네트워크에서 일부 데이터를로드하는 것입니다 Fragment
, 나는를 사용하는 것이 좋습니다 것입니다 AsyncTaskLoader
. javadoc의 예제는 구현 방법에 대한 좋은 아이디어를 제공합니다.
이렇게하면 네트워크 요청이 회전하는 동안 계속 진행되고, LoaderManager.LoaderCallbacks
처리 할 준비가되었을 때만 (예를 들어 회전하는 동안이 아닌) 결과를 UI (예 :)에 알리고 결과를 캐시하여 데이터가 필요할 때마다 네트워크 요청을 재발행하지 마십시오.
이 매우 일반적인 문제를 해결하려고 노력하는 타사 라이브러리도 많이 있으며 Loader
s도 복잡하지만 사용 사례를 올바르게 이해하면 필요한 것입니다.
어떤 솔루션을 선택하든 데이터로드 전, 도중 및 후에 발생하는 순환 (활동 파괴 / 재 작성)을 고려해야한다는 점을 잊지 마십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다