Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

16.07.2016, 17:41. Просмотров 244. Ответов 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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2016, 17:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дождаться ответа от сервера (Программирование Android):

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

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

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

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

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

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

2
fraley
106 / 106 / 40
Регистрация: 24.05.2015
Сообщений: 322
17.07.2016, 00:30 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Никогда не пользовался библиотекой Volley, но по смыслу то ответ приходит в функцию onResponse.
В соответствие с этим и нужно строить логику.
1
Alexvp
108 / 72 / 8
Регистрация: 03.08.2014
Сообщений: 348
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
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2016, 05:55
Привет! Вот еще темы с ответами:

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

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

Как заставить скрипт дождаться ответа от сервера? - jQuery
Здравствуйте! Собственно, задача довольно нестандартная. Код такой: $(document).ready(function(){ ...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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