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

xml파싱 결과창 질문이요ㅜㅜ

0 추천
public class MainActivity extends AppCompatActivity {

    TextView result;
    Button parse;
    ScrollView mScrollView;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mScrollView = (ScrollView) findViewById(R.id.mScrollView);
        result = (TextView) findViewById(R.id.result);
        findViewById(R.id.parse).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                result.setText("");

                parser();

            }
        });
    }

    void parser() {

        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    String code = "", codeNm = "";
                    // XML 데이터를 읽어옴
                    URL url = new URL("http://api.nongsaro.go.kr/service/garden/ignSeasonList?apiKey=서비스키");
                    Log.d("hj", url.toString());
                    InputStream in = url.openStream();
                    

                    XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
                    XmlPullParser parser = factory.newPullParser();

                    // XmlPullParser XML 데이터와 인코딩 방식을 입력
                    parser.setInput(in, "utf-8");
                    
                    String tag = "";
                    int EventType = parser.getEventType();
                    boolean isItemTag = false;

                    while (EventType != XmlPullParser.END_DOCUMENT) {
                        
                        /*
                        * <tag> : START_TAG
                        * content : TEXT
                        * </tag> : END_TAG
                        */
                        if (EventType == XmlPullParser.START_TAG) {
                            tag = parser.getName();
                            
                            if (tag.equals("item")) isItemTag = true;

                        } else if (EventType == XmlPullParser.TEXT && isItemTag) {

                            if (tag.equals("code")){
                                code = parser.getText();

                            }

                            if (tag.equals("codeNm")){
                                codeNm = parser.getText();


                            }

                        } else if (EventType == XmlPullParser.END_TAG) {

                            if (tag.equals("item")) {
                                // 파싱한 데이터 사용 or 저장

                                isItemTag = false;

                            }
                        }
                        EventType = parser.next();
                    }

                } catch (Exception e) {
                    Toast.makeText(getApplicationContext(), " 실패", Toast.LENGTH_SHORT).show();
                    e.printStackTrace();
                }
            }
            });thread.start();


        }
}
Log.d했을 때 오류 없이 다 받아와지는데 결과창을 띄우면 화면에 아무것도 안나오는데... 왜그러는걸까요ㅠㅠ?
초보개발자 님이 2017년 5월 11일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...