package com.example.asyncthread;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.database.CursorJoiner.Result;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView tx;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tx=(TextView)findViewById(R.id.tx);
MyAsyncTask task=new MyAsyncTask();
task.execute("www.baidu.com");
}
class MyAsyncTask extends AsyncTask<String, Void, String>{
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
Log.d("hk", "onPreExecute");
}
protected String doInBackground(String...params) {
Log.d("hk", "doInBackground"+params[0]);
try {
Thread.sleep(1000);
return "我是网络数据";
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
};
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
Log.d("hk", "onPostExecute");
tx.setText(result);
}
}
}
2. 进度更新到UI
package com.example.asyncthread;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.database.CursorJoiner.Result;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView tx;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tx=(TextView)findViewById(R.id.tx);
MyAsyncTask task=new MyAsyncTask();
task.execute("www.baidu.com");
}
class MyAsyncTask extends AsyncTask<String, Integer, String>{
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
Log.d("hk", "onPreExecute");
}
protected String doInBackground(String...params) {
Log.d("hk", "doInBackground"+params[0]);
for (int i = 1; i <= 100; i++) {
try {
Thread.sleep(1000);
publishProgress(i);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
};
@Override
protected void onProgressUpdate(Integer... values) {
// TODO Auto-generated method stub
tx.setText(values[0]+"");
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
Log.d("hk", "onPostExecute");
tx.setText(result);
}
}
}