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

open api rest방식 파싱

0 추천

import java.io.BufferedInputStream;
import java.net.URL;
import java.util.ArrayList;
 
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
 
public class PharmParser {
 
    public final static String PHARM_URL = "http://openapi.hira.or.kr/openapi/service/pharmacyInfoService/getParmacyBasisList";
    public final static String KEY = "??????????????????";
 
    public PharmParser() {
        try {
            apiParserSearch();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }   
    /**
     *
     * @throws Exception
     */
    public void apiParserSearch() throws Exception {
        URL url = new URL(getURLParam(null));
 
        XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
        factory.setNamespaceAware(true);
        XmlPullParser xpp = factory.newPullParser();
        BufferedInputStream bis = new BufferedInputStream(url.openStream());
        xpp.setInput(bis, "utf-8");
       
        String tag = null;
        int event_type = xpp.getEventType();
       
        ArrayList<String> list = new ArrayList<String>();
       
        String addr = null;
        while (event_type != XmlPullParser.END_DOCUMENT) {
            if (event_type == XmlPullParser.START_TAG) {
                tag = xpp.getName();
            } else if (event_type == XmlPullParser.TEXT) {
                /**
                 * 약국의 주소만 가져와본다.
                 */
                if(tag.equals("addr")){
                    addr = xpp.getText();
                }
            } else if (event_type == XmlPullParser.END_TAG) {
                tag = xpp.getName();
                if (tag.equals("item")) {
                    list.add(addr);
                }
            }
 
            event_type = xpp.next();
        }
        printList(list);
    }
   
    /**
     * 결과 값을 출력해본다.
     * @param list
     */
    private void printList(ArrayList<String> list){
        for(String entity : list){
            System.out.println(entity);
        }
       
       
    } 
   
   private String getURLParam(String search){
        String url = PHARM_URL+"?ServiceKey="+KEY;
        if(search != null){
        url = url+"&yadmNm"+search;
        }
        return url;
    }


    public static void main(String[] args) {
        // TODO Auto-generated method stub
        new PharmParser();
    }
 
}

http://blog.naver.com/PostView.nhn?blogId=yandul83&logNo=220369132445&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView

이분이 작성한 예제를 참고로 할려고 하는데 text나 ListView로 보여주는 소스가 없는데 어떻게 화면에 띄우는지 알고싶습니다.

도움 주시면 감사하겟습니다

 

 

wwd873 (390 포인트) 님이 2016년 10월 13일 질문

1개의 답변

0 추천

파싱이 끝난 후에 printList(list) 를 호출하여 리스트를 출력하고 있네요. printList()메소드에 내용을 리스트뷰에 데이터를 표시하는 코드를 넣으시면 되겠는데요. 리스트뷰 사용법을 모르시는 거라면 안드로이드 개발자 문서를 찾아보세요.

spark (227,830 포인트) 님이 2016년 10월 13일 답변
...