package com.cookandroid.parser;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.util.Log;
import android.widget.Toast;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
import java.io.BufferedInputStream;
import java.net.URL;
import java.util.ArrayList;
public class ParserActivity extends Activity {
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";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new PharmParser().start();
}
class PharmParser extends Thread{
@Override
public void run() {
try{
apiParserSearch();
} catch (Exception e) {
// TODO Auto-generated method stub
e.printStackTrace();
}
super.run();
}
public PharmParser(){
}
}
public void apiParserSearch() throws Exception{
URL url = new URL("http://openapi.hira.or.kr/openapi/service/pharmacyInfoService/getParmacyBasisList");
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 kill = 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")){
kill = xpp.getText();
}
} else if (event_type == XmlPullParser.END_TAG){
tag = xpp.getName();
if(tag.equals("item")){
list.add(kill);
}
}
event_type = xpp.next();
}
printList(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){
}
return url;
}
}
안드로이드 배운지 얼마안되서 질문드립니다.
제가 xmlpullparser 이용해 약국정보(주소와 전화번호)를 불러오고 싶은데 런 시키면 하얀 화면 밖에 안나오네요
일단 에러는 없는데.. 왜 api를 불러오지 못하는지 알고싶습니다..
안드로이드 프로젝트 생성할때 생성되는 Activity 에다가 코드를 작성했습니다.
도움좀 주시면 감사하겠습니다.