마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 XML 파싱 문제 때문에 힘듭니다.

0 추천
/* TODO XML */
    private void XML() {
        String Daum = "https://apis.daum.net/local/v1/search/keyword.xml?query=김밥&apikey=DAUM_LOCAL_DEMO_APIKEY&location=127.0017531,37.5395269";
        
        try{
        URL url = new URL(Daum);
        InputStream in = url.openStream();
        Toast.makeText(getApplicationContext(), 0, Toast.LENGTH_SHORT).show();
        XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
        XmlPullParser parser = factory.newPullParser();
        
        parser.setInput(in, "UTF-8");
        
        int eventType = parser.getEventType();
        boolean isItemTag = false;
        String tagName = null;
        String result;
        
        while (eventType != XmlPullParser.END_DOCUMENT) {
            if(eventType == XmlPullParser.START_TAG) {
                tagName = parser.getName();
                Toast.makeText(getApplicationContext(), tagName, Toast.LENGTH_SHORT).show();
                if(tagName.equals("channel")) { isItemTag = true; }
            } else if (eventType == XmlPullParser.TEXT && isItemTag) {
                if(tagName.equals("phone")) { result = parser.getText(); Log.i("XML", result); Log.i("XML", "ㅋㅋ"); }
            } else if (eventType == XmlPullParser.END_TAG) {
                tagName = parser.getName();
                if(tagName.equals("channel")) {
                    isItemTag = false;
                }
            } eventType = parser.next();
        }
        
    } catch (Exception e) { Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_SHORT).show(); }

 

왜안되는 거죠 그냥 바로 Excetpion 오류 뜨는데요...
양창엽 님이 2014년 12월 5일 질문

1개의 답변

0 추천
적어도 어떤 exception이 어디서 발생하는지는 알려주셔야죠.

로그 첨부는 기본입니다.

--------------

어쨋든. XML() 함수 호출은 어느 쓰레드에서 하고 계신지요?

asynctask에서 XML() 호출해보세요.

혹은, UI스레드가 아닌데 토스트 출력시켜서 죽을수도있습니다.
익명사용자 님이 2014년 12월 6일 답변
...