????AsyncTask

????????????′??????????????????

????1??onPreExecute()???÷???????????????????????UI thread???á???????÷????????Щ????????????????????????????????

????2??doInBackground(Params...)??????onPreExecute ??????к???????У??÷???????????????С?????????????????Щ????????????????

???????????publishProgress???????????????????????÷???????????????????????

????3??onProgressUpdate(Progress...)????publishProgress?????????ú?UI thread?????????????????????????????????????????????????????????????

????4??onPostExecute(Result)????doInBackground ???????onPostExecute ????????UI thread?????????????????????÷????????UI thread.

?????????????????1???

????1??Task???????????UI thread?д???

????2??execute??????????UI thread?е???

????3???????????????Щ???????????execute????

????4????task?????????Σ??????ε?????????????

??????????£?

public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);

       editText = (EditText) findViewById(R.id.weather_city_edit);
       Button button = (Button) findViewById(R.id.goQuery);
       button.setOnClickListener(this);
}

public void onClick(View v) {
       new GetWeatherTask().execute(“aaa”);
}

class GetWeatherTask extends AsyncTask⁢<String?? Integer?? String> {
    protected String doInBackground(String... params) {
         return getWetherByCity(params[0]);
    }
    protected void onPostExecute(String result) {
         setTitle(result);
    }
}