Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
kqu
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 30
#1

Дождаться ответа от сервера - Программирование Android

16.07.2016, 17:41. Просмотров 203. Ответов 2

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Network {
    public static boolean isConnected = false;
 
    public static void isConnected(final Context context, String URL){
        RequestQueue requestQueue = Volley.newRequestQueue(context);
        requestQueue.getCache().clear();
 
        StringRequest stringRequest = new StringRequest(Request.Method.GET, URL, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                isConnected = true;
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                isConnected = false;
            }
        });
        requestQueue.add(stringRequest);
    }
}
Вызываю
Java
1
2
3
4
Network.isConnected();
if (!Network.isConnected){
  /*Нет подключения к сети*/
}
Но приложение не дожидается ответа и выполняется дальше (т.е. isConnected всегда false), как дождаться ответа?
P.S. Если использовать AsyncTask можно выполнять в onPostExecute, но не имею представление как дожидаться используя библиотеку Volley
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2016, 17:41     Дождаться ответа от сервера
Посмотрите здесь:

Дождаться ответа из сети - Программирование Android
лишнее вырезал public class Main_Activity extends Activity { @Override protected void onCreate(Bundle...

HttpUrlConnetcion получение ответа от сервера - Программирование Android
Всем привет, как то уже задавал вопрос про HttpUrlConnection, вроде разобрался с ним, но появилась еще одна проблема связанная с получением...

Парсинг JSON ответа от сервера - Программирование Android
Здравствуйте друзья, давно не заходил к вам в гости. Столкнулся с таким интересным (интересно построенным) ответом от сервера в формате...

SocketServer, Client. Получение ответа от сервера - Программирование Android
Уже устал, не пойму где ошибка... Клиент: client = null; dataOutputStream = null; dataInputStream = null; ...

Дождаться закрытия диалога - Программирование Android
Один и тот же диалог используется в двух активити. Т.к. его реализация достаточно громоздка, пытаюсь его использовать повторно, а не...

Как дождаться завершения RequestTask? - Программирование Android
при создании активити в new RequestTask().execute делаю веб запрос, по результатам которого достраивается интерфейс... т.к. в потоке его...

AsyncTask как дождаться окончания - Программирование Android
Всем привет. Ситуация следующая. Есть активити &quot;MyTravelList&quot; со списком, которое после нажатия на кнопку, запускает другое активити...

Дождаться завершения работы AsyncTask и выполнять код дальше - Программирование Android
Помогите, пожалуйста. Мне нужно дождаться завершения работы AsyncTask и только потом выполнять код дальше. Я уже понял, что для этого нужно...

Get запрос и отображение ответа - Программирование Android
Вот такой код, permission прописано. Что не так? Только учусь, поругайте, что не так? public void GetPhrase(View view) { try{ ...

Получение ответа в формате json - Программирование Android
пытаюсь получить ответ в формате json от моего php скрипта и разобрать его. В общих чертах: new...

Кнопка ответа на звонок из приложения - Программирование Android
Всем привет! У меня возникла следующая проблема: в приложении хочу сделать кнопку ответа на входящий звонок, при этом чтобы стандартный...

Ожидание ответа от запроса к серверу по сети - Программирование Android
Всего доброго! Использую Volley для получения ответа от сервера, мне нужно чтобы при нажатии на кнопку выполнялся запрос и ответ на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fraley
103 / 103 / 37
Регистрация: 24.05.2015
Сообщений: 313
17.07.2016, 00:30     Дождаться ответа от сервера #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Никогда не пользовался библиотекой Volley, но по смыслу то ответ приходит в функцию onResponse.
В соответствие с этим и нужно строить логику.
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
17.07.2016, 05:55     Дождаться ответа от сервера #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Зачем притягивать библиотеку, когда все можно сделать проще
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        String response = "";
        try {
            URL url = new URL("Ваш урл");
            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
            urlConnection.setUseCaches(false);
            urlConnection.setDoInput(true);
            urlConnection.setDoOutput(true);
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
            String s = "";
            while ((s = bufferedReader.readLine()) != null) {
                response += s;
            }
            bufferedReader.close();
            urlConnection.disconnect();
        } catch(Exception e) {
            e.printStackTrace();
        }
P.S. Я это делаю в IntentService
Yandex
Объявления
17.07.2016, 05:55     Дождаться ответа от сервера
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru