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

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

Войти
Регистрация
Восстановить пароль
 
FazonFix
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 26
#1

Ругается на finally - Программирование Android

01.03.2014, 15:34. Просмотров 656. Ответов 7
Метки нет (Все метки)

Здрасьте. Работаю с сетью. Стянул с офф. сайта пример для получания stream-потока данных с сервера.

Тупо скопировал код и вставил в исходник. Компилятор ругается на блок finally. В чём проблема? Заранее спасибо.

Код текстом:
Java
1
2
3
4
5
6
7
8
9
URL url = new URL("http://www.android.com/");
           HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
           try {
             InputStream in = new BufferedInputStream(urlConnection.getInputStream());
             readStream(in);
            finally {
             urlConnection.disconnect();
           }
         }
Код скриншотом:
s006. radikal .ru/i213/1403/70/185bc0d6d700.png (пробелы убрать)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2014, 15:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ругается на finally (Программирование Android):

Что означают конструкции "finally" и "throw new"? - Программирование Android
Я с Java уже давно, но с этим столкнулся в первый раз. Объясните, пожалуйста, что означают вот это "finally" и "throw new". Вот пример...

Ругается на FragmentTransaction - Программирование Android
Пишу Bluetooth-чат. Пример был взят с GoogleDev. Студия ругается мол символ неизвестный, хотя библиотеку подключил, в чем проблема? ...

SearchView ругается на Listener? - Программирование Android
Добрый день! подскажите что ему не нравится: @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate...

Ругается на метод append(); ? - Программирование Android
Приветствую! есть класс: public class MainActivity extends ActionBarActivity { @Override protected void...

Приложение Camera ругается на отсутствие SD карты - Программирование Android
Возникла следующая проблема.Есть кнопка,при нажатии на которую происходит переход в приложение Camera.После того как будет сделана...

Антивирус AVG ругается на приложение перепакованное apktool - Программирование Android
Здравствуйте. Сегодня заметил, что если с помощью apktool распаковать и запаковать apk (без каких-либо изменений), антивирус AVG странным...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
YuraAAA
1574 / 1316 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
01.03.2014, 15:43 #2
FazonFix, попробуйте добавить catch (IOException)
0
angryrobot
Командир зеленых роботов
348 / 285 / 53
Регистрация: 08.10.2013
Сообщений: 564
01.03.2014, 16:03 #3
Цитата Сообщение от FazonFix Посмотреть сообщение
В чём проблема?
Похоже что вы забыли фигурную закрывающую скобку перед finally
0
FazonFix
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 26
01.03.2014, 17:16  [ТС] #4
Немного переделал код:
Java
1
2
3
4
5
6
7
8
9
10
11
try {
        URL url = new URL("http://www.android.com/");
           HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
          
             InputStream in = new BufferedInputStream(urlConnection.getInputStream());
             readStream(in); 
             urlConnection.disconnect();    
         }
             catch (IOException e) {
             
           }
Но в приложении пишет, мол приложение было остановлено:
s005. radikal. ru/i212/1403/56/884c810b429c.png (пробелы убрать)

Почему так?
0
YuraAAA
1574 / 1316 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
01.03.2014, 17:23 #5
FazonFix, тут нет экстрасенсов. Покажите стэк трейс
0
FazonFix
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 26
01.03.2014, 18:02  [ТС] #6
Ты не про LogCat? Тут так-то дофига отчётов (не только ошибок):

03-01 08:59:42.740: V/WebViewChromium(885): Binding Chromium to the background looper Looper{b4cca560}
03-01 08:59:42.750: I/chromium(885): [INFO:library_loader_hooks.cc(112)] Chromium logging enabled: level = 0, default verbosity = 0
03-01 08:59:42.750: I/BrowserProcessMain(885): Initializing chromium process, renderers=0
03-01 08:59:42.880: W/chromium(885): [WARNINGroxy_service.cc(888)] PAC support disabled because there is no system implementation
03-01 08:59:42.910: E/chromium(885): [ERROR:gl_surface_egl.cc(153)] No suitable EGL configs found.
03-01 08:59:42.910: E/chromium(885): [ERROR:gl_surface_egl.cc(620)] GLSurfaceEGL::InitializeOneOff failed.
03-01 08:59:42.910: E/chromium(885): [ERROR:gl_surface_egl.cc(153)] No suitable EGL configs found.
03-01 08:59:42.910: E/chromium(885): [ERROR:gl_surface_egl.cc(620)] GLSurfaceEGL::InitializeOneOff failed.
03-01 08:59:42.910: E/chromium(885): [ERROR:gpu_info_collector.cc(86)] gfx::GLSurface::InitializeOneOff() failed
03-01 08:59:43.440: D/AndroidRuntime(885): Shutting down VM
03-01 08:59:43.440: W/dalvikvm(885): threadid=1: thread exiting with uncaught exception (group=0xb4a23b90)
03-01 08:59:43.520: D/dalvikvm(885): GC_FOR_ALLOC freed 191K, 9% free 2992K/3264K, paused 39ms, total 41ms
03-01 08:59:43.520: E/AndroidRuntime(885): FATAL EXCEPTION: main
03-01 08:59:43.520: E/AndroidRuntime(885): Process: com.example.web_content4, PID: 885
03-01 08:59:43.520: E/AndroidRuntime(885): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.web_content4/com.example.web_content4.MainActivity}: android.os.NetworkOnMainThreadException
03-01 08:59:43.520: E/AndroidRuntime(885): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176)
03-01 08:59:43.520: E/AndroidRuntime(885): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
03-01 08:59:43.520: E/AndroidRuntime(885): at android.app.ActivityThread.access$700(ActivityThread.java:135)
03-01 08:59:43.520: E/AndroidRuntime(885): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
03-01 08:59:43.520: E/AndroidRuntime(885): at android.os.Handler.dispatchMessage(Handler.java:102)
03-01 08:59:43.520: E/AndroidRuntime(885): at android.os.Looper.loop(Looper.java:137)
03-01 08:59:43.520: E/AndroidRuntime(885): at android.app.ActivityThread.main(ActivityThread.java:4998)
03-01 08:59:43.520: E/AndroidRuntime(885): at java.lang.reflect.Method.invokeNative(Native Method)
03-01 08:59:43.520: E/AndroidRuntime(885): at java.lang.reflect.Method.invoke(Method.java:515)
03-01 08:59:43.520: E/AndroidRuntime(885): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
03-01 08:59:43.520: E/AndroidRuntime(885): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
03-01 08:59:43.520: E/AndroidRuntime(885): at dalvik.system.NativeStart.main(Native Method)
03-01 08:59:43.520: E/AndroidRuntime(885): Caused by: android.os.NetworkOnMainThreadException
03-01 08:59:43.520: E/AndroidRuntime(885): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145)
03-01 08:59:43.520: E/AndroidRuntime(885): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
03-01 08:59:43.520: E/AndroidRuntime(885): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
03-01 08:59:43.520: E/AndroidRuntime(885): at java.net.InetAddress.getAllByName(InetAddress.java:214)
03-01 08:59:43.520: E/AndroidRuntime(885): at com.android.okhttp.internal.Dns$1.getAllByName(Dns.java:28)
03-01 08:59:43.520: E/AndroidRuntime(885): at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:216)
03-01 08:59:43.520: E/AndroidRuntime(885): at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:122)
03-01 08:59:43.520: E/AndroidRuntime(885): at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:292)
03-01 08:59:43.520: E/AndroidRuntime(885): at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
03-01 08:59:43.520: E/AndroidRuntime(885): at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
03-01 08:59:43.520: E/AndroidRuntime(885): at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
03-01 08:59:43.520: E/AndroidRuntime(885): at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
03-01 08:59:43.520: E/AndroidRuntime(885): at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:179)
03-01 08:59:43.520: E/AndroidRuntime(885): at com.example.web_content4.MainActivity.onCreate(MainActivity.java:36)
03-01 08:59:43.520: E/AndroidRuntime(885): at android.app.Activity.performCreate(Activity.java:5243)
03-01 08:59:43.520: E/AndroidRuntime(885): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
03-01 08:59:43.520: E/AndroidRuntime(885): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
03-01 08:59:43.520: E/AndroidRuntime(885): ... 11 more
0
YuraAAA
1574 / 1316 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
01.03.2014, 18:22 #7
Цитата Сообщение от FazonFix Посмотреть сообщение
Caused by: android.os.NetworkOnMainThreadException
нельзя ломиться в нет из главного потока
0
FazonFix
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 26
02.03.2014, 05:04  [ТС] #8
А как тогда выходить в интернет из дочернего потока? Буду благодарен.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2014, 05:04
Привет! Вот еще темы с ответами:

Почему vk ругается на бесплатные хостинги? На какие не ругается? - Бесплатный хостинг
Здравствуйте, Что нужно сделать, чтобы vk не ругался на бесплатный хостинг? Я нашёл отличный хостинг 5gbfree.com. Я на нём храню свои...

Try finally vs using - C#
Всем привет, сегодня на работе обсуждали следующее: Что лучше использовать? п.с. при условии что метод Dispose не фаерит ошибку. ...

try/finally и делегат - Java
есть примерный код boolean status = m_device.start(); if (status) { m_timer...

Конструкция try..except..finally - Python
Здравствуйте форумчане. С наступившим всех. Сейчас занимаюсь изучением языка питон. Прочитал про данную конструкцию, только не очень...


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

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

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