当前位置: 代码迷 >> Android >> android中施行线程的部分代码
  详细解决方案

android中施行线程的部分代码

热度:70   发布时间:2016-05-01 16:57:09.0
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;
?

?

  相关解决方案