AsyncTask 内部クラスを介して、Android アクティビティから Web サービスに投稿しています。私の考えは、Web サービスに投稿するたびにということです。AsynTask がアクティビティに文字列値を返して、web サービスへの投稿が成功したか失敗したかをアクティビティに通知するようにします。get メソッドを使用してこれを行いましたが、ボタンをクリックして投稿すると、応答する前に UI がしばらくフリーズすることに気付きました。しかし、投稿はまだ機能します。この UI のフリーズを防ぐ方法はありますか。私のコードは以下です。
これは私の AsyncTask クラスの doBackground メソッドです
@Override
protected String doInBackground(String... arg0) {
// TODO Auto-generated method stub
String result = "";
PatientModel patient = new PatientModel();
patient.setPhone(Phone);
patient.setEmail(Email);
patient.setGCMRegistrationID(GCMRegistrationID);
JSONHttpClient jsonHttpClient = new JSONHttpClient();
patient = (PatientModel) jsonHttpClient.PostObject(RestfulServiceUrl.RegisterPatient, patient, PatientModel.class);
GCMRegistrar.setRegisteredOnServer(context, true);
if(patient != null) {
result = patient.getPhone();
}
else if(patient == null){
result = "failed";
}
return result;
}
これは、アクティビティで値を収集するスクリプトです
try {
String result = new RegisterPatient(RegisterActivity.this,resource,email,phone,regId).execute().get();
}
catch(Exception e){
}