您所在的位置:首页 > i医疗 > 科技前沿 > 技术标准 >  移动护理异步任务处理(2)
移动护理异步任务处理(2)
  • 2011-12-22 09:31
  • 作者:李建飞
  • 来源:中联专家网

实例解析

以移动护理中的病人列表异步任务处理为例:
 
@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大移动医疗趋势

【责任编辑:清茗 TEL:(010)68476606】

共2页: 上一页 [1]2 [查看全文]
标签:移动护理  异步任务处理  程序开发  
  • 分享到: