android中执行线程的部分代码

	private void doPost(MKPoiInfo signpoi2) {
		String name = signpoi2.name;
		GeoPoint p = signpoi2.pt;
		int x = p.getLatitudeE6();
		int y = p.getLongitudeE6();

		if (mPostTask != null
				&& mPostTask.getStatus() == GenericTask.Status.RUNNING) {
			return;
		} else {
			mPostTask = new PostTask();
			mPostTask.setListener(mPostTaskListener);
			TaskParams params = new TaskParams();
			params.put("name", name);
			params.put("x", String.valueOf(x));
			params.put("y", String.valueOf(y));
			mPostTask.execute(params);

		}
	}

	private void onPostBegin() {
		// disablePost();
		dialog = ProgressDialog.show(this, "", "正在提交,请稍候!", true);
		dialog.setCancelable(true);
	}

	private void onPostSuccess() {
		dialog.dismiss();
		// updateProgress("");

		// shout_poto_imageview.setImageBitmap(null);

		Toast.makeText(this, "签到成功!", Toast.LENGTH_SHORT).show();

	}

	private void onPostFailure(String reason) {
		Toast.makeText(this, reason, Toast.LENGTH_SHORT).show();
		if (dialog != null) {
			dialog.dismiss();
		}
		// enablePost();
	}

	private class PostTask extends GenericTask {

		private String msg = "发送失败,可能遇到网络故障!";

		public String getMsg() {
			return msg;
		}

		@Override
		protected TaskResult _doInBackground(TaskParams... params) {
			TaskParams param = params[0];
			publishProgress("正在提交,请稍候...");

			try {
				String x = param.getString("x");
				String y = param.getString("y");
				String name = param.getString("name");

				String res = GalaApplication.mApi.post(name, x, y);
				
			} catch (HttpException e) {
				Log.e(TAG, e.getMessage(), e);

				Throwable cause = e.getCause(); // Maybe null
				if (cause == null) {
					if (e instanceof HttpRefusedException) {
						msg = e.getMessage();
					}else if(e instanceof HttpServerException){
						msg=e.getMessage();
					}
				} else if (cause instanceof HttpAuthException) {
					// Invalid userName/password
					msg = ((HttpRefusedException) cause).getError()
							.getMessage();
				} else {
					msg = getString(R.string.login_status_network_or_connection_error);
				}
				publishProgress(msg);
				return TaskResult.FAILED;
			}
			return TaskResult.OK;
		}
	}

	private TaskListener mPostTaskListener = new TaskAdapter() {

		@Override
		public void onPreExecute(GenericTask task) {
			onPostBegin();
		}

		@Override
		public void onProgressUpdate(GenericTask task, Object param) {
			// updateProgress((String) param);
		}

		@Override
		public void onPostExecute(GenericTask task, TaskResult result) {
			if (result == TaskResult.OK) {
				onPostSuccess();
			} else {
				onPostFailure(((PostTask) task).getMsg());
			}
		}

		@Override
		public String getName() {
			// TODO Auto-generated method stub
			return "Login";
		}
	};
	private GenericTask mPostTask;
	private ProgressDialog dialog;
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值