public class MainActivity extends AppCompatActivity {
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView)findViewById(R.id.mytexts);
Task task = new Task();
task.execute("http://www.tngou.net/api/cook/list?rows=30&id=1",tv);
}
public class Task extends AsyncTask<Object, Void, String> {
TextView tv;
/**
* 后台运行的方法 其实doInBackground代替线程
* doInBackground就是在一个子线程运行
* @param params
* @return
*/
@Override
protected String doInBackground(Object... params) {
if(params!=null&¶ms.length>0){
String url = params[0].toString();
tv=(TextView)params[1];
String result = Data.getUrlConnect(url);
return result;
}
return null;
}
/**
* 在doInBackground运行过程中 不断更新数据
* 主线程运行
* @param values
*/
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
/**
* 主线程运行的 代替Handler中handlerMessage方法
* @param s
* @return
*/
@Override
protected void onPostExecute(String s) {
if(tv!=null)
tv.setText(s);
else
tv.setText("null");
super.onPostExecute(s);
}
}
}