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

Вылетает сетевое приложение - Android

Войти
Регистрация
Восстановить пароль
 
Max_92
 Аватар для Max_92
25 / 7 / 2
Регистрация: 26.04.2010
Сообщений: 205
28.01.2014, 14:04     Вылетает сетевое приложение #1
Есть такой код:
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
//устанавливаем соединение
        URLConnection conn = null;
        try {
            if (p) conn = new URL(url + "?" + query).openConnection();
            else conn = new URL(url).openConnection();
            //str1 = url + "?" + query;
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            Log.e(TAG, "Исключение MalformedURLException в методе getQuery");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            Log.e(TAG, "Исключение IOException (1) в методе getQuery");
        }
        //заполним header request парамеры, можно и не заполнять
        //conn.setRequestProperty("Referer", "http://google.com/");
        //conn.setRequestProperty("Cookie", "a=1");
        //можно установить и другие парамеры, такие как User-Agent
        
    
        
        //читаем то, что отдал нам сервер
        String html = null;
        try {
            html = readStreamToString(conn.getInputStream(), "UTF-8");
        
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            Log.e(TAG, "Исключение IOException (2) в методе getQuery");
        }
В эмуляторе с API livel 10 (2.3.3) всё работает без проблем, а на телефоне (4.1) вылетает на строчке html = readStreamToString(conn.getInputStream(), "UTF-8"); скорее всего в conn.getInputStream(). Разрешения INTERNET и WRITE_EXTENAL_STORAGE выставлены. В чём может быть проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2014, 14:04     Вылетает сетевое приложение
Посмотрите здесь:

ListView в ListViev, приложение вылетает Android
Android Парсер html, вылетает приложение
Вылетает приложение во время запуска Android
Android Вылетает созданное приложение
Android Подписанное приложение вылетает
Вылетает приложение. string.split() Android
Вылетает приложение с определением местоположения Android
Вылетает приложение Android
Android Вылетает приложение
Android Вылетает приложение при запуске
Приложение вылетает с непонятной ошибкой Android
Из-за какой-то ошибки вылетает приложение Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
28.01.2014, 14:14     Вылетает сетевое приложение #2
логи в студию
Max_92
 Аватар для Max_92
25 / 7 / 2
Регистрация: 26.04.2010
Сообщений: 205
28.01.2014, 14:40  [ТС]     Вылетает сетевое приложение #3
spydark91, где их взять?

Добавлено через 23 минуты
spydark91,
01-28 14:39:36.361: E/AndroidRuntime(6266): FATAL EXCEPTION: main
01-28 14:39:36.361: E/AndroidRuntime(6266): android.os.NetworkOnMainThreadException
01-28 14:39:36.361: E/AndroidRuntime(6266): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
01-28 14:39:36.361: E/AndroidRuntime(6266): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
01-28 14:39:36.361: E/AndroidRuntime(6266): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
01-28 14:39:36.361: E/AndroidRuntime(6266): at java.net.InetAddress.getAllByName(InetAddress.java:214)
01-28 14:39:36.361: E/AndroidRuntime(6266): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
01-28 14:39:36.361: E/AndroidRuntime(6266): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
01-28 14:39:36.361: E/AndroidRuntime(6266): at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:341)
01-28 14:39:36.361: E/AndroidRuntime(6266): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
01-28 14:39:36.361: E/AndroidRuntime(6266): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
01-28 14:39:36.361: E/AndroidRuntime(6266): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:315)
01-28 14:39:36.361: E/AndroidRuntime(6266): at libcore.net.http.HttpEngine.connect(HttpEngine.java:310)
01-28 14:39:36.361: E/AndroidRuntime(6266): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:289)
01-28 14:39:36.361: E/AndroidRuntime(6266): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:239)
01-28 14:39:36.361: E/AndroidRuntime(6266): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:273)
01-28 14:39:36.361: E/AndroidRuntime(6266): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168)
01-28 14:39:36.361: E/AndroidRuntime(6266): at com.example.mercuryweb.QueryClass.getQuery(QueryClass.java:95)
01-28 14:39:36.361: E/AndroidRuntime(6266): at com.example.mercuryweb.MainActivity.UpdateNews(MainActivity.java:199)
01-28 14:39:36.361: E/AndroidRuntime(6266): at com.example.mercuryweb.MainActivity.onOptionsItemSelected(MainActivity.java:395)
01-28 14:39:36.361: E/AndroidRuntime(6266): at android.app.Activity.onMenuItemSelected(Activity.java:2534)
01-28 14:39:36.361: E/AndroidRuntime(6266): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:958)
01-28 14:39:36.361: E/AndroidRuntime(6266): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
01-28 14:39:36.361: E/AndroidRuntime(6266): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149)
01-28 14:39:36.361: E/AndroidRuntime(6266): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
ASDFD12
31 / 31 / 5
Регистрация: 15.09.2012
Сообщений: 408
28.01.2014, 16:20     Вылетает сетевое приложение #4
В новых версиях андроид все сетевые операции помещай в отдельный поток.
Java
1
2
3
4
5
6
7
 new Thread(new Runnable() {
        public void run() {
        // cетевые операции
                }
            });
        }
    }).start();
Добавлено через 14 минут
или с помощью AsinkTask
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 private class MyParser extends AsyncTask<String, Void, String> {
 
        @Override
        protected String doInBackground(String... links) {  
            Document doc = null;
            try {
                doc = Jsoup.connect(links[0]).get();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return doc.title();
        }
 
        @Override
        protected void onPostExecute(String result) {
            textView.setText(result);
        }
        
    }
Yandex
Объявления
28.01.2014, 16:20     Вылетает сетевое приложение
Ответ Создать тему
Опции темы

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