AsyncTask onPreExecute方法用于在执行后台任务前做一些UI操作
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"); } }