package com.example.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.Buffer;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
ArrayList <Emergency> Elist;
ListView List;
EditText editLoc;
public final static String Emergency_room_URL = "http://apis.data.go.kr/B552657/ErmctInfoInqireService/getEmrrmRltmUsefulSckbdInfoInqire";
public final static String KEY = "&ServiceKey=fn0rBZbLfxxwnHO9zFBQ2uimEvX4paRVZPVRHjSPhWtHbCDL%2FzshfDQf0isIFAJZEq1W%2BuUr96U0Tsa0d1Fiww%3D%3D&pageNo=1&numOfRows=30";
//http://apis.data.go.kr/B552657/ErmctInfoInqireService/getEgytListInfoInqire?Servicekey=fn0rBZbLfxxwnHO9zFBQ2uimEvX4paRVZPVRHjSPhWtHbCDL%2FzshfDQf0isIFAJZEq1W%2BuUr96U0Tsa0d1Fiww%3D%3D&Q0=경상남도&Q1=진주시&QZ=A&ORD=ADDR&pageNo=1&numOfRows=30
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List = (ListView)findViewById(R.id.List);
editLoc = (EditText)findViewById(R.id.editLoc);
Button btnSend = (Button)findViewById(R.id.btnSend);
btnSend.setOnClickListener(new View.OnClickListener(){
public void onClick (View v) {
if (v.getId() == R.id.btnSend) {
final String requestKey = editLoc.getText().toString();
//작업스레드 시작
Thread t = new Thread(new Runnable() {
@Override
public void run() {
Elist = xmlPaser(requestKey);
runOnUiThread(new Runnable() {
@Override
public void run() {
MyCustomAdapter adapter = new MyCustomAdapter(getApplicationContext(), R.layout.list, Elist);
List.setAdapter(adapter);
}
});
//메인스레드 영역 끝
}
});
t.start();
//작업스레드 끝
}
}
});//end onClick
}//end onCreate
public ArrayList<Emergency> xmlPaser(String city){
ArrayList<Emergency> allList = new ArrayList<Emergency>();
//String targetAddress = URLEncoder.encode(city,"UTF-8")
//URL url = new URL(Emergency_room_URL + "?STAGE1=" + targetAddress + "&ServiceKey=" + KEY);
try{
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();
factory.setNamespaceAware(true);
String targetAddress = URLEncoder.encode(city,"UTF-8");
URL url = new URL(Emergency_room_URL + "?STAGE1=" + targetAddress + KEY);
InputStream is = url.openStream();
parser.setInput(is, "UTF-8");
int eventType = parser.getEventType();
Emergency stu = null;
while(eventType != XmlPullParser.END_DOCUMENT){
// if(eventType == XmlPullParser.START_TAG){
switch (eventType) {
case XmlPullParser.START_TAG:
String startTag = parser.getName().trim();
if ("item".equals(parser.getName())) {
if ("dutyName".equals(startTag)) {
stu.setname(parser.getAttributeValue(0));
}
if ("dutyTel3".equals(startTag)) {
stu.setTell(parser.getAttributeValue(0));
}
if ("hvec".equals(startTag)) {
stu.sethvec(parser.getAttributeValue(0));
}
if ("hvgc".equals(startTag)) {
stu.sethvgc(parser.getAttributeValue(0));
}
if ("hvicc".equals(startTag)) {
stu.sethvicc(parser.getAttributeValue(0));
}
break;
}
} eventType = parser.next();
}
}catch(Exception e){e.printStackTrace();}
return allList;
}
}
여기서
while(eventType != XmlPullParser.END_DOCUMENT){
이 문장 안으로 들어가지 않아요 ㅠ.ㅠ
어떻게 해야 할까요 ㅠㅠ 부탁드립니다.