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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Zerony
1 / 1 / 0
Регистрация: 31.10.2010
Сообщений: 40
#1

HttpClient вылетает на телефоне - Программирование Android

24.09.2013, 16:47. Просмотров 1167. Ответов 3
Метки нет (Все метки)

Доброго времени суток!

Пытаюсь сделать http запрос с телефона (Sony Xperia V, Andoid 4.1.2)

Метод для отправки:
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
    public String postData() {
        // Create a new HttpClient and Post Header
        HttpClient httpclient = new DefaultHttpClient();
        
        HttpPost httppost = new HttpPost("http://www.google.com/script.php");
        
        try {
            // Add your data
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
            nameValuePairs.add(new BasicNameValuePair("id", "12345"));
            nameValuePairs.add(new BasicNameValuePair("stringdata", "Hi"));
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            
            // Execute HTTP Post Request
            HttpResponse response = httpclient.execute(httppost);
            String s = response.toString();
            
            return s;
        } catch (ClientProtocolException e) {
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
        }
        return ""; 
    }
Я путями перестановки return выяснил, что проблема в строке:
Java
1
HttpResponse response = httpclient.execute(httppost);
В манифест все добавил:
XML
1
 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
Сами логи:
Код
09-24 15:42:05.836: E/Trace(22919): error opening trace file: No such file or directory (2)
09-24 15:42:05.836: D/ActivityThread(22919): setTargetHeapUtilization:0.25
09-24 15:42:05.836: D/ActivityThread(22919): setTargetHeapIdealFree:8388608
09-24 15:42:05.836: D/ActivityThread(22919): setTargetHeapConcurrentStart:2097152
09-24 15:42:05.936: D/libEGL(22919): loaded /system/lib/egl/libEGL_adreno200.so
09-24 15:42:05.946: D/libEGL(22919): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
09-24 15:42:05.946: D/libEGL(22919): loaded /system/lib/egl/libGLESv2_adreno200.so
09-24 15:42:05.956: I/Adreno200-EGL(22919): <qeglDrvAPI_eglInitialize:269>: EGL 1.4 QUALCOMM build:  (Merge)
09-24 15:42:05.956: I/Adreno200-EGL(22919): Build Date: 01/23/13 Wed
09-24 15:42:05.956: I/Adreno200-EGL(22919): Local Branch: BlueJBUpgrade
09-24 15:42:05.956: I/Adreno200-EGL(22919): Remote Branch: 
09-24 15:42:05.956: I/Adreno200-EGL(22919): Local Patches: 
09-24 15:42:05.956: I/Adreno200-EGL(22919): Reconstruct Branch: 
09-24 15:42:05.976: D/OpenGLRenderer(22919): Enabling debug mode 0
09-24 15:42:10.681: D/AndroidRuntime(22919): Shutting down VM
09-24 15:42:10.681: W/dalvikvm(22919): threadid=1: thread exiting with uncaught exception (group=0x41405450)
09-24 15:42:10.692: E/AndroidRuntime(22919): FATAL EXCEPTION: main
09-24 15:42:10.692: E/AndroidRuntime(22919): android.os.NetworkOnMainThreadException
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1126)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at java.net.InetAddress.getAllByName(InetAddress.java:214)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:141)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at com.example.p0031_fp.MainActivity.postData(MainActivity.java:116)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at com.example.p0031_fp.MainActivity.onClick(MainActivity.java:71)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at android.view.View.performClick(View.java:4128)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at android.view.View$PerformClick.run(View.java:17142)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at android.os.Handler.handleCallback(Handler.java:615)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at android.os.Handler.dispatchMessage(Handler.java:92)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at android.os.Looper.loop(Looper.java:213)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at android.app.ActivityThread.main(ActivityThread.java:4787)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at java.lang.reflect.Method.invokeNative(Native Method)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at java.lang.reflect.Method.invoke(Method.java:511)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
09-24 15:42:10.692: E/AndroidRuntime(22919): 	at dalvik.system.NativeStart.main(Native Method)
09-24 15:42:11.883: I/Process(22919): Sending signal. PID: 22919 SIG: 9
Буду очень благодарен за помощь
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 16:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос HttpClient вылетает на телефоне (Программирование Android):

Приложение вылетает без ошибок(на эмуляторе и на телефоне) - Программирование Android
Добрый день! При запуске на эмуляторе или реальном телефоне приложение вылетает без единой ошибки. Что это может быть? (в приложении...

HttpClient.execute - Программирование Android
Привет всем, при работе этого кода почему то программа вылетает с ошибкой. public String getXmlFromUrl(String url) { String...

Не работает HttpClient - Программирование Android
Первый раз пробую отправить и получить данные на сервер... Полазил в нете и накопал такую функцию... но когда в эмуляторе запускаю и...

Какая есть альтернатива устаревшему apache HttpClient? - Программирование Android
С недавнего времени HttpClient от апача устарел и предлагают юзать стандартный HttpURLConnection. Я не против, но на пост/пут-запросы...

Просмотреть БД в телефоне - Программирование Android
Здравствуйте, я написал программу с локальной бд и SharedPreferences, как можно просмотреть эти файлы, на телефоне ( не на эмуляторе)? ...

Отладка на телефоне - Программирование Android
ПОйдем по порядку 1) включил на телефоне режим для разработчиков(http://android-manual.ru/level1/android-enable-usb-debug). 2)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
chizz
980 / 495 / 54
Регистрация: 19.03.2013
Сообщений: 3,091
Записей в блоге: 18
Завершенные тесты: 1
24.09.2013, 16:50 #2
Цитата Сообщение от Zerony Посмотреть сообщение
http://www.google.com/script.php
Это просто так или ты такой адрес и указываешь?

Добавлено через 1 минуту
Ну и как вариант может не запускаться, потому что в отдельном потоке надо request/response делать. AsyncTask и все такое
0
Zerony
1 / 1 / 0
Регистрация: 31.10.2010
Сообщений: 40
24.09.2013, 17:00  [ТС] #3
Цитата Сообщение от chizz Посмотреть сообщение
Это просто так или ты такой адрес и указываешь?

Добавлено через 1 минуту
Ну и как вариант может не запускаться, потому что в отдельном потоке надо request/response делать. AsyncTask и все такое
Да я пока просто учусь, потому гугл и поставил.

Можно пример, как попробовать?
0
lavan
52 / 52 / 1
Регистрация: 21.03.2009
Сообщений: 371
25.09.2013, 14:29 #4
Цитата Сообщение от Zerony Посмотреть сообщение
09-24 15:42:10.692: E/AndroidRuntime(22919): android.os.NetworkOnMainThreadException
нельзя работать с сетью в главном потоке! самый простой способ исправить
Java
1
2
3
4
5
6
7
8
Runnable r = new Runnable(){
           @Override
           public void run (){
               Connect to...
           }
       };
Thread t = new Thread(r);
r.start();
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2013, 14:29
Привет! Вот еще темы с ответами:

Запуск приложения на телефоне - Программирование Android
Извиняюсь за такой вопрос, но как мне запустить приложение которое я сделал на телефоне не для проверки, акак готовое приложение? в гугле...

Не показывает курсив на телефоне - Программирование Android
Помогите пожалуйста не знаю че делать, отформатировал текст курсивом, в эмуляторе все показывает а на телефоне нет(Samsung S3)!Писал через...

На телефоне не выводиться результат - Программирование Android
пропарсил xml из сети, в манифест добавил: на эмуляторе инфа из xml выводится на экран без проблем. Гружу на телефон - на...

Запустить Код на телефоне - Программирование Android
Здравствуйте, дорогие друзья. Хочу обратится к вам вот по такому вопросу. Наткнулся я на видео, где парень рассказывал, что в Xamarin...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.09.2013, 14:29
Ответ Создать тему
Опции темы

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