`
djun100
  • 浏览: 165673 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

handler结合AsyncTask与网络交互

 
阅读更多
	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);
		}

	}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics