当前位置:首页 > 医疗电子 > 医疗电子
[导读]实例解析 以移动护理中的病人列表异步任务处理为例:   @Override        protected void onPreExecute() {          &#160

实例解析

移动护理中的病人列表异步任务处理为例:
 
@Override

       protected void onPreExecute() {

           super.onPreExecute();

           // 获取Wifi网络连接状态

           isNetWorkConnected = NetWorkActivity

                  .isNetworkAvailable(PatiListActivity.this);

           if (isNetWorkConnected)

              // 弹出提示对话框

              mDialog.show();

    }

onPreExecute()方法主要用于检查网络连接是否成功,如果成功则弹出进度条对话框。该方法运行于UI线程。

       @Override

       protected Object doInBackground(Object... arg0) {

           if (isNetWorkConnected) {

              // 获取病人列表数据

              patientList = getPatiList();

           }

           return null;

       }

doInBackground()方法主要进行网络访问和XML解析,以获取病人列表数据,它运行于后台线程。这里没有调用publishProgress() 方法,因为我们的进度条不需要显示百分比,因此我们也没必要重载doProgressUpdate(Progress…)方法。

       @Override

       protected void onPostExecute(Object result) {

           super.onPostExecute(result);

           if (isNetWorkConnected) {

              try {

                  // 加载页面控件

                  drawPage();

                  // 关闭提示对话框

                  mDialog.dismiss();

              } catch (Exception e) {

                  e.printStackTrace();

                  Toast.makeText(PatiListActivity.this, errorMsg,

                         Toast.LENGTH_SHORT).show();

              }

           }

       }

OnPostExecute()运行于UI线程,通过doInBackgroud()方法获取的病人列表来加载页面控件,完成后关闭对话框。至此,异步任务处理整个过程结束。

【编辑推荐】

移动医疗系统解析

移动医疗应用热席卷肯尼亚

【独家】2012年5大移动医疗趋势

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭