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

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

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

HttpClient вылетает на телефоне - Android

24.09.2013, 16:47. Просмотров 1118. Ответов 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
Буду очень благодарен за помощь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 16:47     HttpClient вылетает на телефоне
Посмотрите здесь:

Не показывает курсив на телефоне Android
Белый экран на телефоне Android
Android Запуск приложения на телефоне
Android На телефоне не выводиться результат
Создание apk на телефоне Android
Android Отладка на телефоне
HttpClient.execute Android
Не работает HttpClient Android
При запуске моего приложения на телефоне вылетает сначала сообщение Basic4Android
Android Просмотреть БД в телефоне
Android Какая есть альтернатива устаревшему apache HttpClient?
Запустить Код на телефоне Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
chizz
979 / 493 / 54
Регистрация: 19.03.2013
Сообщений: 3,074
Записей в блоге: 18
Завершенные тесты: 1
24.09.2013, 16:50     HttpClient вылетает на телефоне #2
Цитата Сообщение от Zerony Посмотреть сообщение
http://www.google.com/script.php
Это просто так или ты такой адрес и указываешь?

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

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

Можно пример, как попробовать?
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
25.09.2013, 14:29     HttpClient вылетает на телефоне #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();
Yandex
Объявления
25.09.2013, 14:29     HttpClient вылетает на телефоне
Ответ Создать тему
Опции темы

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