Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 31
1

Дождаться ответа от сервера

16.07.2016, 17:41. Показов 2648. Ответов 2

Author24 — интернет-сервис помощи студентам
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
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.07.2016, 17:41
Ответы с готовыми решениями:

Дождаться ответа из сети
лишнее вырезал public class Main_Activity extends Activity { @Override protected...

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

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

Ожидание ответа от сервера в потоке
Имеется программа, которая делает запрос на сервер с помощью библиотеки okhttp при нажатии кнопки...

2
111 / 111 / 43
Регистрация: 24.05.2015
Сообщений: 329
17.07.2016, 00:30 2
Лучший ответ Сообщение было отмечено kqu как решение

Решение

Никогда не пользовался библиотекой Volley, но по смыслу то ответ приходит в функцию onResponse.
В соответствие с этим и нужно строить логику.
1
100 / 79 / 9
Регистрация: 03.08.2014
Сообщений: 447
17.07.2016, 05:55 3
Лучший ответ Сообщение было отмечено kqu как решение

Решение

Зачем притягивать библиотеку, когда все можно сделать проще
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
1
17.07.2016, 05:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2016, 05:55
Помогаю со студенческими работами здесь

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

Как заставить скрипт дождаться ответа от сервера?
Здравствуйте! Собственно, задача довольно нестандартная. Код такой: ...

не дождаться ответа
Уважаемые участники форума. я впервые сталкиваюсь с программой ТП и прошу помочь мне. Я приобрел...

Дождаться ответа ajax
Здравствуйте. Вот такой пример. &lt;div id='category'&gt;&lt;/div&gt; for (let i = 0; i &lt; 100; i++) {...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru