AsyncTask

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);
    }

//自定义AsyncTask 三个参数:参数一:刚开始传递的数据(这个示例传递了网络图片的地址)   参数二:这个是进度数据  
// 参数三:这个执行到最后返回的数据类型 
public class Task extends AsyncTask<Object, Void, String> {
    TextView tv;
    /**
     * 后台运行的方法  其实doInBackground代替线程
     * doInBackground就是在一个子线程运行
     * @param params
     * @return
     */
    @Override
    protected String doInBackground(Object... params) {
        if(params!=null&&params.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);
    }

    /**
     * 主线程运行的 代替HandlerhandlerMessage方法
     * @param s
     * @return
     */
    @Override
    protected void onPostExecute(String s) {
        if(tv!=null)
            tv.setText(s);
        else
            tv.setText("null");
        super.onPostExecute(s);
    }
}




 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值