1.实例化

TableListsTask task = new TableListsTask(ServerIP,"ALL", MenuActivity.this);
  //第三参数建立上下文关系

2.TableListsTask.java

package com.realhope.rmeal.ui;

import static com.realhope.rmeal.service.ConstantUtil.SERVER_ADDRESS;

import static com.realhope.rmeal.service.ConstantUtil.SERVER_PORT;

import android.content.Context; import android.os.AsyncTask;

import android.util.Log;

import com.realhope.rmeal.bean.TableLists;

import com.realhope.rmeal.util.MyUtil;

 /**异步任务  方法:menuactivity 获取台列表   * 2014-7-31   * @author Wucy   *   */

public class TableListsTask extends AsyncTask<String, Integer, String> {               

     //onPreExecute方法用于在执行后台任务前做一些UI操作        

   private static final String TAG = "ASYNC_TableListsTASK";  

private MyConnector mc = null;

  private final Context mContext;

  String mtable_no,mServerIP;  

  public TableListsTask(String ServerIP,String table_no,  Context context){   

  super();

    mContext = context;  

   mtable_no =table_no;    

mServerIP=ServerIP;   }      

    @Override   

      protected void onPreExecute() {    

         Log.i(TAG, "onPreExecute() called");          // MyUtil.showToast(OrderActivity.this, "数据上传...");         // textView.setText("loading...");             //button_toOrder.setText("正在查询....");      }                                                                                                                                                                  

//doInBackground方法内部执行后台任务,不可在此方法内修改UI             

   @Override  

   protected String doInBackground(String... params) {    

   Log.i(TAG, "doInBackground(Params... params) called");     

     try{

                if(mc == null){  

        mc = new MyConnector(mServerIP, SERVER_PORT);      

       }        

     String msg = "<#GET_TABLELIST#>"+ mtable_no;   

     mc.dout.writeUTF(msg); //发出获取台表请求   

     mc.dout.flush();     

     int size = mc.din.readInt();   //获取个数        

      mc.dout.writeUTF("<#READY_TO_READ_COMMENT#>");      

     mc.dout.flush();  

     for(int i=0;i<size;i++){   

     msg = mc.din.readUTF();  //读取每条信息        

    String [] sa = msg.split("\\|"); //切割字符串   

    TableLists tablelists = new TableLists(Integer.valueOf(sa[0]),Integer.valueOf(sa[1]),sa[2],Integer.valueOf(sa[3]),Integer.valueOf(sa[4]),Integer.valueOf(sa[5]));

          ((MenuActivity)mContext).lstDate_TableLists.add(tablelists);        

       }    

 mc=null;

    return  String.valueOf(1);     

          } catch (Exception e) { 

               Log.e(TAG, e.getMessage());                        }      

     return null;                                                         

    }                                                                                                                                                         //onProgressUpdate方法用于更新进度信息                                       @Override                                                                  

  protected void onProgressUpdate(Integer... progresses) {            

          Log.i(TAG, "onProgressUpdate(Progress... progresses) called");        

  }                                                                                                                                                         //onPostExecute方法用于在执行完后台任务后更新UI,根据后台下单结果重新绑定前台订单                     @Override                                                                   

protected void onPostExecute(String result) {       

         Log.i(TAG, "onPostExecute(Result result) called");     

         MyUtil.showToast(mContext, "取后台开台信息数据");   

       ((MenuActivity)mContext).updateTableLists();                                         }                                                                                                                                                      //onCancelled方法用于在取消执行中的任务时更改UI       

 @Override  

protected void onCancelled() {        

              Log.i(TAG, "onCancelled() called");     

        }

   }

AsyncTask onPreExecute方法用于在执行后台任务前做一些UI操作的更多相关文章

  1. xtrabackup拷贝redolog前做的细节操作

    原文地址:http://www.innomysql.net/article/25590.html 前言 淘宝3月的数据库内核月报对 xtrabackup的备份原理 做了深入的分析,写的还是很不错.不过 ...

  2. 重读《深入理解Java虚拟机》五、虚拟机如何执行字节码?程序方法如何被执行?虚拟机执行引擎的工作机制

    Class文件二进制字符流通过类加载器和虚拟机加载到内存(方法区)完成在内存上的布局和初始化后,虚拟机字节码执行引擎就可以执行相关代码实现程序所定义的功能.虚拟机执行引擎执行的对象是方法(均特指非本地 ...

  3. MySQL提供了以下三种方法用于获取数据库对象的元数据

    MySQL提供了以下三种方法用于获取数据库对象的元数据: 1)show语句 2)从INFORMATION_SCHEMA数据库里查询相关表 3)命令行程序,如mysqlshow, mysqldump 用 ...

  4. spring mvc @ModelAttribute 每次执行requestmapping前自动执行

    在不少应用场景中,我们希望在每次执行requestmapping前自动执行一些操作,比如把某些数据(比如数据字典.系统配置.标准错误号,这在企业应用系统中极为常见)塞到model中供view访问,因为 ...

  5. 执行后台任务的利器——Hangfire

    今年1月31日,在微软的MVP 2015社区大讲堂上,我给大家分享了一个演讲:在ASP.NET应用中执行后台任务.其中介绍了三种技术的应用:QueueBackgroundWorkItem.Hangfi ...

  6. Exporter - 实现默认的导入方法用于模块

    Exporter - 实现默认的导入方法用于模块 简介: In module YourModule.pm: package YourModule; require Exporter; @ISA = q ...

  7. 项目总结03:window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口

    window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口 项目中经常遇到一个业务逻辑:在A窗口中打开B窗口,在B窗口中操作完以后关闭B窗口,同时自动刷新A窗口(或局部更新A窗口)( ...

  8. then()方法是异步执行

    then()方法是异步执行 就是当.then()前的方法执行完后再执行then()内部的程序 这样就避免了,数据没获取到等的问题

  9. 【转】 Pro Android学习笔记(九五):AsyncTask(4):执行情况

    目录(?)[-] 两个AsyncTask对象的运行情况 多次执行的异常 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/ ...

随机推荐

  1. Lua学习(1)——table

    table类型实现了“关联数组”.“关联数组”是一种具有特殊索引方式的数组.不仅可以通过证书来索引它,还可以使用字符串或其他类型(除了nil)来索引它.table是Lua中主要的数据结构机制(事实也是 ...

  2. Java中线程总结

    本文简要介绍在 Java 世界中, 线程相关知识.主要包含 线程的创建与销毁:线程安全与同步:线程通讯:注意本文没有什么高深新知识,只缘起前段时间在翻看项目代码的时候,发现有些同学对此有诸多误解,故在 ...

  3. python 收录集中实现线程池的方法

    概念: 什么是线程池? 诸如web服务器.数据库服务器.文件服务器和邮件服务器等许多服务器应用都面向处理来自某些远程来源的大量短小的任务.构建服务器应用程序的一个过于简单的模型是:每当一个请求到达就创 ...

  4. Java常用类之String类、Stringbuffer和Random类练习

    定义一个StringBuffer类对象, 1)使用append方法向对象中添加26个字母,并倒序遍历输入 2)删除前五个字符 package 第十一章常用类; /** * 定义一个StringBuff ...

  5. vue-cli项目中怎么mock数据

    在vue项目中, mock数据可以使用 node 的 express模块搭建服务 1. 在根目录下创建 test 目录, 用来存放模拟的 json 数据, 在 test 目录下创建模拟的数据 data ...

  6. characterEncodingFilter作用

    package com.demo.test; import java.io.IOException; import javax.servlet.Filter; import javax.servlet ...

  7. 平时常用的一些java方法,请留意

    平时常用的一些java方法,请留意. package com.util; import java.io.BufferedInputStream; import java.io.BufferedWrit ...

  8. java调用(axis2)WebService传递对象类型参数(源码)

    温馨提示:axis2 jar包哟 public static String pubRemoteFuc() {                String endpoint = "http:/ ...

  9. 【论文:麦克风阵列增强】An alternative approach to linearly constrained adaptive beamforming

    作者:桂. 时间:2017-06-03  21:46:59 链接:http://www.cnblogs.com/xingshansi/p/6937259.html 原文下载:http://pan.ba ...

  10. Ubuntu下Tomcat初始配置

    1.下载tomcat安装包 从tomcat官方网站http://tomcat.apache.org下载安装包,然后解压到某个目录,比如: ~/opt/apache-tomcat-7.0.63官方文档中 ...