Добрый день! Столкнулся с проблемой которую никак не могу решить, да и странная она. У меня есть свой написанный класс SendDate, который я использую для отправки данных на сервер. В нем есть процедура Send(), которая собственно и производит отправку данных. Вот как это выглядит: Код | public void Send(String process) { processing = process; new SendParamToURL(callBackSend, URL, process).execute(ListParam); }
// ОТПРАВКА ДАННЫХ static class SendParamToURL extends AsyncTask<ArrayList<SendParam>, String, String> { private CallBackSendDate listener; private String URL; private String processing;
public SendParamToURL(CallBackSendDate listener, String URL, String process){ this.listener = listener; this.URL = URL; this.processing = process; } //@TargetApi(Build.VERSION_CODES.FROYO) @Override protected String doInBackground(ArrayList<SendParam>... params) { try { DefaultHttpClient hc = new DefaultHttpClient(); ResponseHandler<String> res = new BasicResponseHandler(); //он у нас будет посылать post запрос HttpPost postMethod = new HttpPost(this.URL); //будем передавать два параметра List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(params[0].size());
//передаем параметры из наших текстбоксов for(SendParam info : params[0]) { nameValuePairs.add(new BasicNameValuePair(info.name, info.value)); }
//собераем их вместе и посылаем на сервер postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8"));
//получаем ответ от сервера String response = hc.execute(postMethod, res);
return response.toString();
} catch (Exception e) { System.out.println("Exp=" + e); //listener.onError(e.toString()); } return ""; }
@Override protected void onProgressUpdate(String... values) { super.onProgressUpdate(values); }
@Override protected void onPostExecute(String result) { listener.onReturnAnswer(result); super.onPostExecute(result); }
@Override protected void onPreExecute() { listener.onSend(processing); super.onPreExecute(); } }
|
Вот собственно как я отправляю данны: Код | public static SendDate SendDateURL; .... SendDateURL = new SendDate(); SendDateURL.initialize(Url, sendDateCallBack); ...
SendDateURL.ClearParam(); SendDateURL.AddParam("Param1", Value1); SendDateURL.AddParam("Param2", Value2); SendDateURL.Send("");
|
Вот парадокс, конкретно данный запрос отрабатывает очень быстро, кроме одной активити. На одной из активити выполняю данный запрос, процедура доходит до конструктора Код | public SendParamToURL(CallBackSendDate listener, String URL, String process)
|
Дальше идет какое то провисание по времени, секунд 10-15. а иногда и больше и уже после мы попадаем в процедуру: Код | protected String doInBackground(ArrayList<SendParam>... params)
|
Причем это происходит только на одной активити, на всех остальных все прекрасно! Единственное что их может отличать, то что эта активити создана после обновления Android Studio , до версии 0.8.11, больше разницы никакой, откуда это провисание по времени не понятно. Кто сталкивался с данными проблемами?
--------------------
"Убить всех людей!" (с) Bender
|