我如何确保异步任务在我运行某些任务之前完成。我需要在异步任务更改该变量的值之后使用一个变量。如果我在异步运行完成之前运行代码,那么我搞砸了。有什么帮助吗?我显然是异步任务的新手。如果您查看我的代码,我可能没有按预期使用 onPostExecute(),因此建议会有所帮助。我最初的想法是继续向异步任务添加东西,但我认为这只是不好的做法,因为我有很多东西必须串联运行。基本上,我认为它归结为:我如何确保 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.
}
}