AsyncTask执行网络操作,网络有响应后,发送消息给UI线程,让UI线程来显示响应的toast。
private void toast(String content) {
// TODO Auto-generated method stub
Toast.makeText(Activity_Register.this, content, Toast.LENGTH_LONG).show();
}
Handler myHandler = new Handler() {
// 2.重写消息处理函数
public void handleMessage(Message msg) {
switch (msg.what) {
// 判断发送的消息
case 0:
// 更新View
toast("注册失败");
break;
case 1:
toast("注册成功");
Variable.telephone = telephone;
Intent intent = new Intent(Activity_Register.this,
Activity_Personal.class);
startActivity(intent);
// Variable.user = register_et_user.getText().toString().trim();
finish();
break;
}
super.handleMessage(msg);
}
};
class RegisterTask extends AsyncTask<String, Integer, String> {
Message message = new Message();
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
response = new Util_Interaction().register_connecting(post);
return null;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
System.out.println("response:" + response);
if (!response.equals("1")) {
message.what = 0;
myHandler.sendMessage(message);
return;
}
message.what = 1;
myHandler.sendMessage(message);
super.onPostExecute(result);
}
}
分享到:
相关推荐
Handler,AsyncTask,Looper自定义线程使用示例,自定义线程与UI线程交互,访问UI线程控件
在Android中使用AsyncTask和Handler线程间交互的方式,详情参见博客:http://www.cnblogs.com/plokmju/p/android_AsyncTask.html和http://www.cnblogs.com/plokmju/p/android_Handler.html
android 线程交互 进程讲解 Handler Message AsyncTask 线程模式
NULL 博文链接:https://byandby.iteye.com/blog/825071
本文实例讲述了Android中AsyncTask与handler用法。分享给大家供大家参考,具体如下: 首先,我们得明确下一个概念,什么是UI线程。顾名思义,ui线程就是管理着用户界面的那个线程! android的ui线程操作并不是安全的...
Android提供了一个工具类:AsyncTask,它使创建需要与用户界面交互的长时间运行的任务变得更简单。相对Handler来说AsyncTask更轻量级一些,适用于简单的异步处理,不需要借助线程和Handter即可实现。AsyncTask是抽象...
网络请求(同步与异步) 1.get post 概念 一般来讲 get 从服务器获取数据 post 上传表单到服务器,也会获取数据 http请求 request 、response httpconnection 2.okhttp使用 (应用进行网络操作需申请权限,Android P...
Android用户界面是与用户交互的接口,对于用户的操作,Android迅速响应用户的输入是一个重要目标。如果Activity中的应用程序在5s之内未做出响应,可能会出现“应用程序无响应,是否关闭?”的对话框,还可能会出现...