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

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

Войти
Регистрация
Восстановить пароль
 
AeroWhite
Форумчанин.NET
 Аватар для AeroWhite
531 / 410 / 63
Регистрация: 12.02.2013
Сообщений: 835
#1

Не приходит ответ при HttpPost - Android

21.04.2014, 13:55. Просмотров 694. Ответов 4
Метки нет (Все метки)

Уже неделю мучаюсь с одной проблемой. Необходимо отправить запрос на сервер и получить ответ. Запрос, как я понимаю, проходит, однако ответ по какой-то причине не приходит.
Запрос с AsyncTask:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
  class RequestTask extends AsyncTask<String, String, String> {
 
        @Override
        protected String doInBackground(String... params) {
 
                try {
                        DefaultHttpClient hc = new DefaultHttpClient();
                        ResponseHandler<String> res = new BasicResponseHandler();
                        HttpPost postMethod = new HttpPost(params[0]);
 
                        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
                        nameValuePairs.add(new BasicNameValuePair("s", tvText.getText().toString()));
                        nameValuePairs.add(new BasicNameValuePair("per_pg", "100"));
                        postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                        String response = hc.execute(postMethod, res);
                        respText.setText(response.toString());
                } catch (Exception e) {
                        System.out.println("Exp=" + e);
                }
                return null;
        }
 
        @Override
        protected void onPostExecute(String result) {
 
                dialog.dismiss();
                super.onPostExecute(result);
        }
 
        @Override
        protected void onPreExecute() {
 
                dialog = new ProgressDialog(FullscreenActivity.this);
                dialog.setMessage("Ищем...");
                dialog.setIndeterminate(true);
                dialog.setCancelable(true);
                dialog.show();
                super.onPreExecute();
        }
}
Вызываю так:
Java
1
2
3
4
5
6
        startButton.setOnClickListener (new OnClickListener() {
            @Override    
            public void onClick (View v) {
                            new RequestTask().execute("http://textpesni.org/");
            }
            });
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2014, 13:55     Не приходит ответ при HttpPost
Посмотрите здесь:

HttpPost конфликтует с БД Android
Android Обработать ответ сервера
Не приходит UDP сообщение Android
Намерение от action ".BATTERY_LOW" приходит с задержкой Android
Android Кодировка в httppost
Android HttpPost и PHP. Не подключается к MySQL
Android JSOUP POST. В ответ вместо JSon приходит разметка страницы с полями для ввода данных
Android Не приходит сообщение от сервера
Android Подключение к БД с java (ответ от сервера)
Android Ответ от PHP сервера
Ответ с библиотеки ksoap2 Android
Android Server->Client Обновление БД длинной строкой. Приходит не все отосланное

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
 Аватар для YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
21.04.2014, 14:10     Не приходит ответ при HttpPost #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
AeroWhite, пробовали дебажить? Поставить брекпоинт на String response = hc.execute(postMethod, res); и посмотреть
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
21.04.2014, 15:06     Не приходит ответ при HttpPost #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от AeroWhite Посмотреть сообщение
super.onPostExecute(result);
а куда вы отправляете результат? и не видно где вы его обрабатываете
AeroWhite
Форумчанин.NET
 Аватар для AeroWhite
531 / 410 / 63
Регистрация: 12.02.2013
Сообщений: 835
21.04.2014, 16:54  [ТС]     Не приходит ответ при HttpPost #4
Благодаря Вашим советам нашел-таки ошибку.
Я не возвращал ответ:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        @Override
        protected String doInBackground(String... params) {
 
                try {
                        DefaultHttpClient hc = new DefaultHttpClient();
                        ResponseHandler<String> res = new BasicResponseHandler();
                        HttpPost postMethod = new HttpPost(params[0]);
 
                        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
                        nameValuePairs.add(new BasicNameValuePair("s", tvText.getText().toString()));
                        nameValuePairs.add(new BasicNameValuePair("per_pg", "100"));
                        postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                        String response = hc.execute(postMethod, res);
                        return response.toString();
                } catch (Exception e) {
                        System.out.println("Exp=" + e);
                }
                return null;
        }
И из-за этого же не выводил его:
Java
1
2
3
4
5
6
        @Override
        protected void onPostExecute(String result) {
 
                dialog.dismiss();
                respText.setText(result);
        }
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
21.04.2014, 17:24     Не приходит ответ при HttpPost #5
Цитата Сообщение от AeroWhite Посмотреть сообщение
И из-за этого же не выводил его:
совет, добавьте проверку на нулл в onPost, что бы когда произойдет ошибка не вывалилось приложение
Yandex
Объявления
21.04.2014, 17:24     Не приходит ответ при HttpPost
Ответ Создать тему
Опции темы

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