특정 작업을 실행하기 전에 비동기 작업이 완료되었는지 어떻게 확인합니까? 비동기 작업이 해당 변수의 값을 변경 한 후에 변수를 사용해야합니다. 비동기가 실행되기 전에 코드를 실행하면 인스턴트 메신저가 망가졌습니다. 어떤 도움? 메신저 분명히 비동기 작업에 새로운. 내 코드를 보면 아마도 onPostExecute()를 사용하지 않았으므로 조언이 도움이 될 것입니다. 내 초기 생각은 비동기 작업에 물건을 계속 추가하는 것이었지만 일련의 작업을 수행해야하는 많은 작업이 있기 때문에 이것이 나쁜 습관이라고 생각합니다. 기본적으로, 내가 생각하기에 그것은 다음과 같습니다. UI 비동기 작업이 끝나기 전에 UI 스레드의 작업이 실행되지 않도록하려면 어떻게해야합니까?비동기 작업이 완료된 후에 만 작업을 실행해야합니다.
public class MainActivity extends MapActivity {
myJSONmap;
public void onCreate(Bundle savedInstanceState) {
new AsyncStuff().execute();
locatePlace(myJSONmap);
class AsyncStuff extends AsyncTask<Void, Integer, JSONObject> {
@Override
protected JSONObject doInBackground(Void... params) {
jObject = GooglePlacesStuff.getTheJSON(formatedURL);
return null;
}
@Override
protected void onPostExecute(JSONObject result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
myJSONmap = JSONextractor.getJSONHMArrayL(jObject); // getting the parsed data from the JSON object.
//the arraylist contains a hashmap of all the relevant data from the google website.
}
}
기본적으로 남아있는 모든 작업이 포함됩니다. onPostExecute() 메서드? 이 좋은 연습 이니? –
예, onPostExecute()는 ** 작업이 완료된 후 ** 완료되어야합니다. – nsemeniuk
onPostExecute()에는 많은 코드 행이있을 수 있습니다. 이거 괜찮아? –