Ошибка тайм-аута при первом использовании веб-службы на Android - PullRequest
1 голос
/ 08 ноября 2011

Я работаю над приложением, которое использует веб-сервис сразу после запуска, чтобы получить некоторые основные данные.Когда я выбираю «Чистую установку» нового эмулятора, приложение вылетает из-за истечения времени ожидания веб-службы.Но когда тот же код, тот же эмулятор, который я запускаю сразу же, работает нормально, а затем каждый раз, когда все нормально, возникают проблемы только при первом запуске на «чистом» эмуляторе.Любые предложения, идеи, почему?

PS: Использование веб-службы .net, возвращающей xml и ksoap2 на android, чтобы потреблять его.

Спасибо

1 Ответ

0 голосов
/ 08 ноября 2011

Я уверен, что вам нужно setConnectionTimeout и setSoTimeout при выполнении веб-запроса.

Например:

HttpGet httpGet = new HttpGet(url);
HttpParams httpParameters = new BasicHttpParams();

// Set the timeout in milliseconds until a connection is established.
int timeoutConnection = 3000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);

// Set the default socket timeout (SO_TIMEOUT) 
// in milliseconds which is the timeout for waiting for data.
int timeoutSocket = 5000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);

DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
HttpResponse response = httpClient.execute(httpGet);
...