public class StuInfo extends Activity {
TextView txtname;
TextView txtage;
Button btn;
StuInfoDTO dto = new StuInfoDTO();
ArrayList<StuInfoDTO> list;
Handler handler = new Handler();
String result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.stuinfo);
txtname = (TextView) findViewById(R.id.txtname);
txtage = (TextView) findViewById(R.id.txtage);
btn = (Button) findViewById(R.id.btn);
// 버튼 이벤트 처리
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
final String urlPath = "http://url주소/xml/xmlApp.php?name="
+ txtname + "age=" + txtage;
// 네트워크 연동을 위한 작업 스레드 생성
Thread t = new Thread(new Runnable() {
@Override
public void run() {
InputStream is = requestGet(urlPath);
list = xmlParser(is);
result = streamToString(is);
}
});
t.start();
}
});
// 인텐트 얻기
try {
Intent intent = getIntent();
// 직렬화 객체 얻기(로그인 정보 불러오기)
intent.getSerializableExtra("loginInfo");
} catch (Exception e) {
e.getStackTrace();
}
}
// Get 요청처리 메소드
public InputStream requestGet(String requestUrl) {
try {
// 요청하기
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(requestUrl);
HttpResponse response = client.execute(request);
// 응답하기
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
return is;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}// end requestGet
//
public String streamToString(InputStream is) {
StringBuffer buffer = new StringBuffer();
try {
BufferedReader reader = new BufferedReader(
new InputStreamReader(is));
String str = reader.readLine();
while (str != null) {
buffer.append(str);
str = reader.readLine();
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
return buffer.toString();
}// end streamToString
public ArrayList<StuInfoDTO> xmlParser(InputStream is) {
ArrayList<StuInfoDTO> list = new ArrayList<StuInfoDTO>();
try {
// XmlPullParser
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser parser = factory.newPullParser();
parser.setInput(new InputStreamReader(is, "UTF-8"));
int eventType = parser.getEventType();
StuInfoDTO dto = null;
while (eventType != XmlPullParser.END_DOCUMENT) {
switch (eventType) {
case XmlPullParser.START_TAG:
String startTag = parser.getName();
if ("name".equals(startTag)) {
if (dto != null)
dto.setName(parser.nextText().replace("<b>", " ")
.replace("</b>", " "));
}
if ("age".equals(startTag)) {
if (dto != null)
dto.setAge(parser.nextText().replace("<b>", " ")
.replace("</b>", " "));
}
break;
case XmlPullParser.END_TAG:
String endTag = parser.getName();
break;
}
eventType = parser.next();
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
웹과 호출하여 로그인한 후 그 계정의 주인의 이름과 나이 정보를 불러오는 내용을 하고있습니다.
현재 임의로 다음과 같이 코딩을 하였는데요.
로그인 액티비티에서 로그인 정보를 다른페이지에도 넘겨 주는것과
웹에 있는 이름과 나이 정보를 앱에서도 보여주려면 어떻게 구현을 해야되 지 궁금합니다.