network data 처리

Android 2015. 5. 6. 14:42

Q; xml을 파싱하는 부분에서 자꾸 빈 데이터가 넘어왔다.

A; network 데이터는 asyncTask 를 생성하여 처리해주어야 한다.(XML, Json 데이터 처리 등)

그렇지 않으면 Caused by: android.os.NetworkOnMainThreadException 요런 메세지와 함께 빈 값을 받게 되니 주의.

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
private class LoadEventData extends AsyncTask<Void,Void,Void>
    {
 
        @Override
        protected Void doInBackground(Void... params) {
            // TODO Auto-generated method stub
            updateEventData();
            
            try {
                Thread.sleep(SAXTest.SLEEP_TIME);
            } catch (Exception e) {
 
            }
            return null;
        }
        
        private void updateEventData()
        {
            SAXHandler myXMLHandler = null;
            try {
                SAXParserFactory spf = SAXParserFactory.newInstance();
                SAXParser sp = spf.newSAXParser();
                XMLReader xr = sp.getXMLReader();
                myXMLHandler = new SAXHandler();
                xr.setContentHandler(myXMLHandler);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        
    }
cs


: