Я новичок в Android, но я знаю несколько в Java и Java EE При общении с сервером (webservice) он отлично работает с ответом, который я получаю от него. Но если есть временная задержка более 5 секунд, она будет ANR
. Теперь мой вопрос заключается в том, как проверить с помощью моей java-функции, узнать, отвечает ли сервер или не отвечает. Любые идеи в этом?Как избежать ответа ANR в Android, если в сервере есть временная задержка?
Даже некоторые похожие примеры помогут мне.
Код сниппета
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
// Problem is if Server is not Working , it delays and the UI wents to ANR
if( sendToWebservice(String_to_send)=="fromWebservice") {
Toast.makeText(context, "Connected", 500).show();
}
else {
Toast.makeText(context, "Not Connected,Try again ", 500).show();
finish();
}
}
}, 5000);
Дополнительная информация: Я использую jax.ws
создать webservice
& ksoap api
в Android. Спасибо заранее.
Редактировать
if( sendToWebservice(String_to_send).equalIgnorecase("fromWebservice") instead of ==
я пропустил, чтобы поместить это в то время как обрамление его в синтаксис здесь .. !!
Не делайте этого в потоке пользовательского интерфейса ... И нет, Handler не новый Thread ... – Selvin
@Selvin: ok !! я получил ур точку .. ll обратитесь к документации слишком – Pradeepraj
вместо этого использовать AsyncTask. – bhups