使用线程处理耗时比较长的“业务”

public class Main extends Activity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                findViewById(R.id.start_new_thread).setOnClickListener(new Button.OnClickListener(){@Overridepublic void onClick(View v) {//new 一个新的线程对象NewThread newThread = new NewThread();//开启一个新的线程,执行doInBackground方法newThread.execute(12);System.out.println("main thread!");}        });    }}

使用线程必须继承AsyncTask类

/* * 第一个参数Integer是doInBackground方法中用的参数 * 第二个参数Integer是onProgressUpdate方法中的参数 * 第三个参数String是doInBackground方法的返回值类型,被onPostExecute方法调用 */public class NewThread extends AsyncTask<Integer, Integer, String> {@Overrideprotected String doInBackground(Integer... params) {try {for(int i=0;i<params.length;i++){System.out.println("params : " + params[i]);}System.out.println("sleep 3 second");//会执行回调函数onProgressUpdate方法publishProgress(12);Thread.sleep(3000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}//返回的字符串被onPostExecute方法作为参数return "huangbiao";}@Overrideprotected void onPreExecute() {// TODO Auto-generated method stubsuper.onPreExecute();System.out.println("onPreExecute");}@Overrideprotected void onPostExecute(String result) {// TODO Auto-generated method stubsuper.onPostExecute(result);System.out.println("result : " + result);System.out.println("onPostExecute");}@Overrideprotected void onProgressUpdate(Integer... values) {// TODO Auto-generated method stubsuper.onProgressUpdate(values);System.out.println("onProgressUpdate");}}

更多相关文章

  1. Android裁剪图像实现方法示例
  2. Android中常用的bitmap处理方法
  3. 如何在Android 11 中正确请求位置权限?以及Android 8 - 11位置权
  4. 详解Android中IntentService的使用方法
  5. ReactNative调用Android原生方法
  6. Cocos项目避免不断复制粘贴android lib库的方法
  7. Android去除系统自带动画的两种方法
  8. android studio中建立assets和jnilibs的方法

随机推荐

  1. Android应用程序消息处理机制(Looper、Han
  2. android 中SoundPool总结
  3. Android(安卓)实用工具Hierarchy Viewer
  4. android打开系统联系人界面
  5. Android(安卓)安装环境搭建
  6. android之wifi移植全过程(二)
  7. 实验1:第一个Android程序
  8. Android之使用Android-query框架进行开发
  9. Android文件存储位置简述
  10. Android(安卓)SystemProperties (java)