android中执行线程的部分代码private void doPost(MKPoiInfo signpoi2) {String name signpoi2.nameGeo
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;}@Overrideprotected 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 nullif (cause == null) {if (e instanceof HttpRefusedException) {msg = e.getMessage();}else if(e instanceof HttpServerException){msg=e.getMessage();}} else if (cause instanceof HttpAuthException) {// Invalid userName/passwordmsg = ((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() {@Overridepublic void onPreExecute(GenericTask task) {onPostBegin();}@Overridepublic void onProgressUpdate(GenericTask task, Object param) {// updateProgress((String) param);}@Overridepublic void onPostExecute(GenericTask task, TaskResult result) {if (result == TaskResult.OK) {onPostSuccess();} else {onPostFailure(((PostTask) task).getMsg());}}@Overridepublic String getName() {// TODO Auto-generated method stubreturn "Login";}};private GenericTask mPostTask;private ProgressDialog dialog;??
