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

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

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

FATAL EXCEPTION: main, приложение компилируется, но не запускается - Программирование Android

23.12.2015, 16:46. Просмотров 399. Ответов 10
Метки нет (Все метки)

Доброго времени суток, пытаюсь подключить RSS ленту используя XML parser, приложение не запускается.
Подскажите пожалуйста что не так в коде?
Код RSSFeed.java
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package rss.android.rssfeed;
 
import android.app.Activity;
import android.os.Bundle;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
import android.widget.TextView;
import java.net.URL;
import java.io.IOException;
import org.xml.sax.SAXException;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.Attributes;
 
public class RSSFeed extends Activity {
    /** Called when the activity is first created. */
    String rssResult = "";
    boolean item = false;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView rss = (TextView) findViewById(R.id.rss);
        try {
            URL rssUrl = new URL("http://k.img.com.ua/rss/ru/events.xml");
            SAXParserFactory factory = SAXParserFactory.newInstance();
            SAXParser saxParser = factory.newSAXParser();
            XMLReader xmlReader = saxParser.getXMLReader();
            RSSHandler rssHandler = new RSSHandler();
            xmlReader.setContentHandler(rssHandler);
            InputSource inputSource = new InputSource(rssUrl.openStream());
            xmlReader.parse(inputSource);
            rss.setText(rssResult);
        } catch (IOException e) {rss.setText(e.getMessage());
        } catch (SAXException e) {rss.setText(e.getMessage());
        } catch (ParserConfigurationException e) {rss.setText(e.getMessage());
        }
    }
 
    private class RSSHandler extends DefaultHandler {
 
        public void startElement(String uri, String localName, String qName,
                                 Attributes attrs) throws SAXException {
            if (localName.equals("item"))
                item = true;
 
            if (!localName.equals("item") && item == true)
                rssResult = rssResult + localName + ": ";
 
        }
 
        public void endElement(String namespaceURI, String localName,
                               String qName) throws SAXException {
 
        }
 
        public void characters(char[] ch, int start, int length)
                throws SAXException {
            String cdata = new String(ch, start, length);
            if (item == true)
                rssResult = rssResult +(cdata.trim()).replaceAll("\\s+", " ")+"\t";
 
        }
 
    }
 
}
Код main.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
    <TextView android:id="@+id/rss"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</LinearLayout>
Вот что пишет в логе:
HTML5
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
12-23 13:01:14.705 5008-5008/? I/art: Not late-enabling -Xcheck:jni (already on)
12-23 13:01:15.240 5008-5008/? W/Zygote: Slow operation: 1044ms so far, now at Zygote.postForkCommon
12-23 13:01:15.241 5008-5008/? W/Zygote: Slow operation: 1095ms so far, now at zygoteConnection.runOnce: postForkAndSpecialize
12-23 13:01:16.931 5008-5015/rss.android.rssfeed W/art: Suspending all threads took: 19.671ms
12-23 13:01:17.889 5008-5008/rss.android.rssfeed D/AndroidRuntime: Shutting down VM
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime: FATAL EXCEPTION: main
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime: Process: rss.android.rssfeed, PID: 5008
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{rss.android.rssfeed/rss.android.rssfeed.RSSFeed}: android.os.NetworkOnMainThreadException
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.app.ActivityThread.access$800(ActivityThread.java:144)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:135)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5221)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:372)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:  Caused by: android.os.NetworkOnMainThreadException
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at java.net.InetAddress.lookupHostByName(InetAddress.java:418)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at java.net.InetAddress.getAllByName(InetAddress.java:215)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at com.android.okhttp.HostResolver$1.getAllByName(HostResolver.java:29)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:232)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:124)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:272)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:211)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:373)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:323)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:190)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at java.net.URL.openStream(URL.java:470)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at rss.android.rssfeed.RSSFeed.onCreate(RSSFeed.java:34)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.app.Activity.performCreate(Activity.java:5937)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)*
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.app.ActivityThread.access$800(ActivityThread.java:144)*
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)*
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102)*
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:135)*
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5221)*
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)*
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:372)*
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)*
12-23 13:01:17.898 5008-5008/rss.android.rssfeed E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)*
12-23 13:01:23.040 5008-5015/rss.android.rssfeed W/art: Suspending all threads took: 124.364ms
12-23 13:01:24.602 5008-5008/rss.android.rssfeed I/Process: Sending signal. PID: 5008 SIG: 9
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2015, 16:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос FATAL EXCEPTION: main, приложение компилируется, но не запускается (Программирование Android):

FATAL EXCEPTION: main - Программирование Android
Вот код: import com.independentsoft.exchange.Service; import android.app.Activity; import android.os.Bundle; public class...

FATAL EXCEPTION: main - Программирование Android
Пишу свое 1 приложение, столкнулся с проблемой. при загрузке FATAL ERROR и все тут. Помогите что делать ? Вот код *.java package...

FATAL EXCEPTION: main - Программирование Android
добрый день, столкнулся с проблемой, когда выбивает подобную ошибку: 12-12 07:18:22.455: E/AndroidRuntime(1352): FATAL EXCEPTION: main...

FATAL EXCEPTION: main - Программирование Android
Всем привет. Не получается программка из урока с передачей данных из одного активити в другое. Уже третий день туплю, но не могу исправить...

FATAL EXCEPTION: main - Программирование Android
Я только начал проходить уроки по программированию на android и сразу же ошибка - unfortunately, MyProject has stopped. Я пытался добавить...

Fatal Exception: main - Программирование Android
Здравствуйте, пишу свое первое приложение, помогите пожалуйста. Проблема в том, что в коде никаких ошибок не отображается, а когда проверяю...

10
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 731
23.12.2015, 16:48 #2
все в одном потоке?
0
Pablito
23.12.2015, 16:50
  #3

Не по теме:

и это наверняка тестовое задание на работу, что же будет дальше

0
v1kt0r
0 / 0 / 0
Регистрация: 23.12.2015
Сообщений: 3
23.12.2015, 16:59  [ТС] #4
получается что да, код из статьи http://www.mobilab.ru/androiddev/androidrssparser.html
0
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 731
23.12.2015, 17:20 #5
Log.d(TAG, "host = " + rssUrl.getHost());
что выдаёт этот лог?
0
Pablito
2506 / 1990 / 620
Регистрация: 12.05.2014
Сообщений: 6,953
Завершенные тесты: 1
23.12.2015, 17:24 #6
Valakin,
Цитата Сообщение от v1kt0r Посмотреть сообщение
Caused by: android.os.NetworkOnMainThreadException
ошибка ни о чем не говорит?
0
v1kt0r
0 / 0 / 0
Регистрация: 23.12.2015
Сообщений: 3
23.12.2015, 17:35  [ТС] #7
Цитата Сообщение от Паблито Посмотреть сообщение
Valakin,

ошибка ни о чем не говорит?
Нельзя обращаться к сетевым ресурсам в основном потоке активности, придется переделывать.
0
Pablito
2506 / 1990 / 620
Регистрация: 12.05.2014
Сообщений: 6,953
Завершенные тесты: 1
23.12.2015, 17:36 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
для ТСа:
Беда с парсингом
Ошибка при отправлении Get запроса
и еще два десятка тем, которые находятся на форуме поиском по слову "NetworkOnMainThreadException"
0
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 731
24.12.2015, 08:32 #9
Цитата Сообщение от v1kt0r Посмотреть сообщение
Нельзя обращаться к сетевым ресурсам в основном потоке активности, придется переделывать.
не вводи народ в заблуждение, для версии ниже Android 3.0 твой код заработает,
на каком андроиде тестишь?
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,653
Завершенные тесты: 1
24.12.2015, 09:57 #10
Valakin, ну 3 версии 100% уже ниукого нет. Разве что 2.3.3, но думаю врятли у ТСа он.
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
24.12.2015, 12:00 #11
Цитата Сообщение от Valakin Посмотреть сообщение
твой код заработает
Но всё равно большой шанс ANR
0
24.12.2015, 12:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2015, 12:00
Привет! Вот еще темы с ответами:

FATAL EXCEPTION: main - Программирование Android
Забавная у меня ситуация, вот создаю новый проект и он не хочет запускаться ни в какую, хотя ничего своего не добавляю в него ...

E/AndroidRuntime: FATAL EXCEPTION: main - Программирование Android
Первый раз пишу приложение. сроки поджимают ) вот код main_activity.java package com.example.mytunerpro.mytunerpro; import...

E/AndroidRuntime: FATAL EXCEPTION: main - Программирование Android
я не могу понять в чем дело .... если можно объясните... сразу признаюсь я начинающий программист ...

FATAL EXCEPTION: main - проклятая ошибка - Программирование Android
Здравствуйте, в Android Studio ошибок не показывает, но при запуске программы на телефоне выходит такая ошибка 02-19 23:00:53.068...


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

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

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