Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
AeroWhite
Форумчанин.NET
543 / 414 / 64
Регистрация: 12.02.2013
Сообщений: 834
#1

Не приходит ответ при HttpPost - Программирование Android

21.04.2014, 13:55. Просмотров 788. Ответов 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/");
            }
            });
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2014, 13:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не приходит ответ при HttpPost (Программирование Android):

JSOUP POST. В ответ вместо JSon приходит разметка страницы с полями для ввода данных
Делаю пост запрос к апи сайта. Назад должен получить json, однако получаю...

HttpPost конфликтует с БД
Добрый вечер! Столкнулся со следующей проблемой, я имею два корректно...

Кодировка в httppost
Здравствуйте, имеется такая проблема. хочу отправить файл с параметром на свой...

HttpPost, формирование запроса
Добрый день. Помогите разобраться с отправкой такого запроса: { ...

HttpPost и PHP. Не подключается к MySQL
Есть у меня mysql сервер на localhost:88 с бд &quot;test&quot;, username &quot;root&quot; и...

Не приходит ответ с сервера при POST-запросе
Здравствуйте. Пытаюсь через Java отправить POST-запрос на сервер (обычную...

4
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
21.04.2014, 14:10 #2
Лучший ответ Сообщение было отмечено AeroWhite как решение

Решение

AeroWhite, пробовали дебажить? Поставить брекпоинт на String response = hc.execute(postMethod, res); и посмотреть
1
NiRamz
211 / 211 / 33
Регистрация: 26.12.2010
Сообщений: 691
21.04.2014, 15:06 #3
Лучший ответ Сообщение было отмечено AeroWhite как решение

Решение

Цитата Сообщение от AeroWhite Посмотреть сообщение
super.onPostExecute(result);
а куда вы отправляете результат? и не видно где вы его обрабатываете
1
AeroWhite
Форумчанин.NET
543 / 414 / 64
Регистрация: 12.02.2013
Сообщений: 834
21.04.2014, 16:54  [ТС] #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);
        }
0
NiRamz
211 / 211 / 33
Регистрация: 26.12.2010
Сообщений: 691
21.04.2014, 17:24 #5
Цитата Сообщение от AeroWhite Посмотреть сообщение
И из-за этого же не выводил его:
совет, добавьте проверку на нулл в onPost, что бы когда произойдет ошибка не вывалилось приложение
0
21.04.2014, 17:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2014, 17:24
Привет! Вот еще темы с решениями:

Не приходит ответ от бд
$dbh = mysql_connect(HOST, USER, PSWD) or die(&quot;Не могу соединиться с MySQL.&quot;);...

Не приходит ответ от QNetworkAccessManager::get
Добрый день! Подскажите. Создаю приложение в котором нужно получать файлы с...

Не приходит ответ от сервлета
Из апплета вызывается сервлет Сервлет стоит на IBM HTTP Server, точнее на IBM...

Не приходит ответ от сервера
Всем привет! Довелось мне написать клиентскую часть для работы с сервером и...


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

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

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