More Related Content
PPTX
PPTX
PPTX
Client side storage in html5 PPTX
PDF
ODP
PDF
PPTX
What's hot
PDF
PDF
옛날 웹 개발자가 잠깐 맛본 Vue.js 소개 PDF
PDF
엘라스틱서치, 로그스태시, 키바나 PPTX
PPTX
5-4. html5 offline and storage PPTX
Redis data design by usecase PDF
PDF
Undertow RequestBufferingHandler 소개 PDF
PPTX
PDF
PPTX
PDF
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver] PPTX
Block chain introduction slideshare PDF
PDF
세션5. web3.js와 Node.js 를 사용한 dApp 개발 PPTX
PDF
PDF
Viewers also liked
PDF
Prakt.jarkom2 jefri tugas4 ospf multi area PPTX
PPTX
PDF
Stefan Larsson CEO, keynote on BIMobject live 2014 PPTX
Utah's Tort of Wrongful Termination in Violation of Public Policy PPTX
BISO Time Attendance Software Report Presentation PPT
EN3604 Week 5: "No Surrender"?" Conflicts within and Beyond DOCX
Paper3 jefri common errors PPTX
Recent Developments in Employee Background Checks PPSX
DOC
PPTX
PPTX
PPTX
Employment Compliance Audits PDF
Corporate Profile - Prosols Technology PDF
Microsoft word mengurus perubahan PPTX
PPTX
Similar to Android xml parsing
PPTX
PDF
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - Http Request PDF
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁 PPT
PDF
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking) PPTX
PPTX
PPTX
PPTX
PDF
[Hello world 오픈세미나]open api client개발 KEY
PPTX
Ksug 세미나 (윤성준) (20121208) PDF
[NEXT] Android 개발 경험 프로젝트 3일차 (Database) PPTX
PDF
PDF
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발) PDF
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - OkHttp PPTX
PDF
PPTX
More from Sangon Lee
PDF
PPT
PDF
PPTX
KEY
KEY
KEY
KEY
PDF
Android xml parsing
- 1.
- 2.
웹 요청1
Http 클라이언트만들기
1. URL 객체 생성
2. openConnection() 메소드 호출
3. HttpURLConnection 객체형으로 casting 후 데이터 교환
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
if (conn != null) {
conn.setConnectTimeout(10000);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.setDoOutput(true);
int resCode = conn.getResponseCode();
if (resCode == HttpURLConnection.HTTP_OK) {
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())) ;
String line = null;
while(true) {
line = reader.readLine();
if (line == null) {
break;
}
output.append(line + "n");
}
reader.close();
conn.disconnect();
}
- 3.
웹 요청1
메소드설명
1. setRequestMethod(“GET”) // Get방식 요청설정
2. setDoInput(),setDoOutput() // 객체의 입출력이 가능하로록 설정
3. getResposeCode() // 이시점에 웹서버에 페이지 요청시작
4. 응답코드 HTTP_OK : 정상 / HTTP_NOT_FOUND :페이지없음
5. readLine()은 BufferedReader클래스에 정의되어 있다.
6. HttpURLConnection객체인 conn을 InputStreamReaderr객체로 만든후
BufferedReader 클래스형 객체로 만든다.
BufferedReader reader = new BufferedReader(
new InputStreamReader(conn.getInputStream())) ;
String line = reader.readLine();
- 4.
DOM Parser
DOM :트리형식으로 전체구조 파악후 정보 추출,메모리 사용높음, 고성능
SAX : 순차적으로 문서를 읽으면서 차례대로 추출, 메모리 사용낮음, 느림
import javax.xml.parsers.*;
import org.w3c.dom.*;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
InputStream istream = new ByteArrayInputStream(xml.getBytes("utf-8"));
Document doc = builder.parse(istream);
Element order = doc.getDocumentElement();
NodeList items = order.getElementsByTagName("item");
Node item = items.item(0);
Node text = item.getFirstChild();
String ItemName = text.getNodeValue();
mResult.setText("주문 항목 : " + ItemName);
- 5.
DOM Parser
DocumentBuilderFactory factory= DocumentBuilderFactory.newInstance();
- 추상클래스이므로 직접생성할수 없고 newInstace 정적메소드로 생성한다.
DocumentBuilder builder = factory.newDocumentBuilder();
실제파싱을 할 builder 객체도 정적메소드 newDocumnetBuilder() 로 생성한다.
String xml = "<?xml version="1.0" encoding="utf-8"?>n" +
"<order><item>Mouse</item></order>";
InputStream istream = new ByteArrayInputStream(xml.getBytes("utf-8"));
Document doc = builder.parse(istream);
parse메소드는 스트림을 분석하여 메모리에 트리형태로 전개해 놓는다.
이후 Document객체의 메소드를 이용하여 요소들을 빨리 읽을수 있다.
Element order = doc.getDocumentElement();
NodeList items = order.getElementsByTagName("item");
Node item = items.item(0);
Node text = item.getFirstChild();
String ItemName = text.getNodeValue();
- 6.
DOM Parser
String xml = "<?xml version="1.0" encoding="utf-8"?>n" +
"<order>" +
"<item Maker="Samsung" Price="23000">Mouse</item>" +
"<item Maker="LG" Price="12000">KeyBoard</item>" +
"<item Price="156000" Maker="Western Digital">HDD</item>" +
"</order>";
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
InputStream istream = new ByteArrayInputStream(xml.getBytes("utf-8"));
Document doc = builder.parse(istream);
Element order = doc.getDocumentElement();
NodeList items = order.getElementsByTagName("item");
String Result = "";
for (int i = 0; i < items.getLength();i++) {
Node item = items.item(i);
Node text = item.getFirstChild();
String ItemName = text.getNodeValue();
Result += ItemName + " : ";
NamedNodeMap Attrs = item.getAttributes();
for (int j = 0;j < Attrs.getLength(); j++) {
Node attr = Attrs.item(j);
Result += (attr.getNodeName() + " = " + attr.getNodeValue() + " ");
}
Result += "n";
}
mResult.setText("주문 목록n" + Result);
}
- 7.
SAX parse
Http 클라이언트만들기
1. URL 객체 생성
2. openConnection() 메소드 호출
3. HttpURLConnection 객체형으로 casting 후 데이터 교환