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");
- }
- }
AsyncTask onPreExecute方法用于在执行后台任务前做一些UI操作的更多相关文章
- xtrabackup拷贝redolog前做的细节操作
原文地址:http://www.innomysql.net/article/25590.html 前言 淘宝3月的数据库内核月报对 xtrabackup的备份原理 做了深入的分析,写的还是很不错.不过 ...
- 重读《深入理解Java虚拟机》五、虚拟机如何执行字节码?程序方法如何被执行?虚拟机执行引擎的工作机制
Class文件二进制字符流通过类加载器和虚拟机加载到内存(方法区)完成在内存上的布局和初始化后,虚拟机字节码执行引擎就可以执行相关代码实现程序所定义的功能.虚拟机执行引擎执行的对象是方法(均特指非本地 ...
- MySQL提供了以下三种方法用于获取数据库对象的元数据
MySQL提供了以下三种方法用于获取数据库对象的元数据: 1)show语句 2)从INFORMATION_SCHEMA数据库里查询相关表 3)命令行程序,如mysqlshow, mysqldump 用 ...
- spring mvc @ModelAttribute 每次执行requestmapping前自动执行
在不少应用场景中,我们希望在每次执行requestmapping前自动执行一些操作,比如把某些数据(比如数据字典.系统配置.标准错误号,这在企业应用系统中极为常见)塞到model中供view访问,因为 ...
- 执行后台任务的利器——Hangfire
今年1月31日,在微软的MVP 2015社区大讲堂上,我给大家分享了一个演讲:在ASP.NET应用中执行后台任务.其中介绍了三种技术的应用:QueueBackgroundWorkItem.Hangfi ...
- Exporter - 实现默认的导入方法用于模块
Exporter - 实现默认的导入方法用于模块 简介: In module YourModule.pm: package YourModule; require Exporter; @ISA = q ...
- 项目总结03:window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口
window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口 项目中经常遇到一个业务逻辑:在A窗口中打开B窗口,在B窗口中操作完以后关闭B窗口,同时自动刷新A窗口(或局部更新A窗口)( ...
- then()方法是异步执行
then()方法是异步执行 就是当.then()前的方法执行完后再执行then()内部的程序 这样就避免了,数据没获取到等的问题
- 【转】 Pro Android学习笔记(九五):AsyncTask(4):执行情况
目录(?)[-] 两个AsyncTask对象的运行情况 多次执行的异常 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/ ...
随机推荐
- 教育类APP开发现新增长,多款APP该如何突围?
"十二五"以来,国家共出台相关的重大教育政策文件741个,而进入到"十三五"时期教育领域综合改革深入推进的关键期,不断促进教育现代化的实现.加快迈入人力资源强国 ...
- [编织消息框架][netty源码分析]2 eventLoop
eventLoop从命名上看是专门处理事件 事件系统主要由线程池同队列技术组成,有以下几个优点 1.任务出队有序执行,不会出现错乱,当然前提执行线程池只有一个 2.解偶系统复杂度,这是个经典的生产者/ ...
- 每天一道Java题[11]
题目 synchronized怎么实现线程同步?请修改<每天一道Java题[10]>中的MyRunnableThread类以解决三个线程都获取到10的问题. 解答 方法一: 采用synch ...
- Kotlin入门第三课:数据类型
前文链接: Kotlin学习第一课:从对比Java开始 Kotlin入门第二课:集合操作 初次尝试用Kotlin实现Android项目 Kotlin的数据类型与Java类似,因此这篇文章主要看Kotl ...
- MySQL数据库安全策略
1. 删除所有MySQL中的用户(包括root用户): mysql> delete from mysql.user root可以保留,然后修改为其他用户 2. 为管理员root用户设置密码 : ...
- 安装配置rsync服务端
rsync是类unix系统下的数据镜像备份工具——remote sync.一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH.rsync主机同步. rsync使用方 ...
- [HDU1001] Sum Problem
Problem Description Hey, welcome to HDOJ(Hangzhou Dianzi University Online Judge). In this problem, ...
- 【Python的迭代器,生成器】
一.可迭代对象和迭代器 1.迭代的概念 上一次输出的结果为下一次输入的初始值,重复的过程称为迭代,每次重复即一次迭代,并且每次迭代的结果是下一次迭代的初始值 注:循环不是迭代 while True: ...
- 一些java考过的测试题和自己制作模拟服务端和客户端
媒体 1,java环境变量: PATH: .;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; CLASSPATH: .;%JAVA_HOME%\jre\lib\rt.jar ...
- MVC4加载zTree树小控件
前言: 第一次学习使用MVC框架,找了个练手项目,加载zTree树小控件.下面我就一步步说明我这次练手的经历以记录.如果有什么错误,希望各位大神帮忙指正,谢谢. 第一步: 利用VS2010新建一个MV ...