Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Zerony
1 / 1 / 1
Регистрация: 31.10.2010
Сообщений: 40
1

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

24.09.2013, 16:47. Просмотров 1486. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 16:47
Ответы с готовыми решениями:

Приложение работает на эмуляторе но вылетает на телефоне
Происходит такая ошибка: При тестировании приложении на эмуляторе, все работает так же как и...

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

При запуске моего приложения на телефоне вылетает сначала сообщение
при запуске моего приложения на телефоне вылетает сначала сообщение &quot;Waiting fo IDE debugger to...

Httpclient example
покажите пожалуйста простой пример загрузки файла(любого) или инфы с инета с помощью httpclient ?

Хром не открывается, модем вылетает, везде просят капчу. И вылетает синий экран
В общем, хотела найти лечение на соседнем форуме...но мой вопрос проигнорили.:( Одна надежда на...

3
chizz
985 / 507 / 102
Регистрация: 19.03.2013
Сообщений: 3,108
Записей в блоге: 19
Завершенные тесты: 1
24.09.2013, 16:50 2
Цитата Сообщение от Zerony Посмотреть сообщение
http://www.google.com/script.php
Это просто так или ты такой адрес и указываешь?

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

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

Можно пример, как попробовать?
0
lavan
53 / 53 / 8
Регистрация: 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
25.09.2013, 14:29
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2013, 14:29

Не работает HttpClient
Первый раз пробую отправить и получить данные на сервер... Полазил в нете и накопал такую...

HttpClient.execute
Привет всем, при работе этого кода почему то программа вылетает с ошибкой. public String...

Авторизация VK HttpClient
Прочитал, наверное, все темы по этой проблеме, но так и не нашел решения. Пытаюсь авторизоваться в...


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

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

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