Android 初步学习第一个阶段--异步任务 ①

来源:互联网 发布:淘宝网阔腿裤 编辑:程序博客网 时间:2024/06/10 18:13

Android 初步学习第一个阶段–异步任务简单介绍

简单实例:

public class MainActivity extends AppCompatActivity {private static final String TAG = "ManiActivity"; private Context mContext = this;private TextView mTextViewMain;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    initView();    //内部类执行,异步任务触发。    new MyAsyncTask().execute(MyContants.URL);}private void initView() {    mTextViewMain = (TextView) findViewById(R.id.textView_main_info);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {    getMenuInflater().inflate(R.menu.main, menu);    return super.onCreateOptionsMenu(menu);}//写异步任务的内部类public class MyAsyncTask extends AsyncTask<String, Void, byte[]> {    private ProgressDialog pDialog = null;    //构造器    public MyAsyncTask() {        pDialog = new ProgressDialog(mContext);        pDialog.setIcon(R.mipmap.ic_launcher);        pDialog.setTitle("提示:");        pDialog.setMessage("正在进行中。。。。");    }    //后台运行    @Override    protected byte[] doInBackground(String... strings) {        Log.i(TAG, "zx+++doInBackgroud : "+Thread.currentThread().getName());        byte[] result = HttpURLConnHelper.loadByteFromURL(strings[0]);        return result;    }    //执行前    @Override    protected void onPreExecute() {        super.onPreExecute();        Log.i(TAG, "zx+++onPreExcecute :"+Thread.currentThread().getName());    }    //状态改变    @Override    protected void onProgressUpdate(Void... values) {        super.onProgressUpdate(values);        Log.i(TAG, "zx+++onProgressUpdate :" +Thread.currentThread().getName());        Thread.currentThread().getName();    }    //执行后    @Override    protected void onPostExecute(byte[] bytes) {        super.onPostExecute(bytes);        Log.i(TAG, "zx+++onPostExecute :" + Thread.currentThread().getName());        if (bytes != null) {            String data = new String(bytes);            mTextViewMain.setText(data);        } else {            Toast.makeText(mContext, "加载失败", Toast.LENGTH_LONG).show();        }        pDialog.dismiss();    }    @Override    protected void onCancelled() {        super.onCancelled();    }}}

异步任务:抽象类- AsyncTask< Params, Progress, Result > 注意:泛型 的应用
工具类

0 0
原创粉丝点击