package com.cookandroid.fuck;
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 = "eMdzD%2FPfwmnzpONr%2FWNdkxnti1L8FaQgFicGvGVKpdAcTQsa3ei1wAgWl1VWu4HSofpZw6kw9WHzQxzDkYnYGw%3D%3D";
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();
}
}
제가 어떤분 블로그 보고 따라한 코드인데요 제가 이 파싱한 데이터를 리스트뷰에 나타내고 싶은데
이분꺼 따라하면 하얀화면밖에 안나오네요.. 근데 이분 블로그보면 화면에 제대로 나오는데..
printList로 화면에 출력하고 있는거 같은데 printlist와 entity가 가진 의미좀 알려주세요. 통 모르겠네요
그리고 리스트뷰로 나타내고 싶으면 어떻게하죠