일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 폼
- usb부팅
- 윈8 설치
- putty
- NT900X4C-A99 터치패드
- NT900X4C-A99 손바닥인식
- DB
- form reset
- NT900X4C-A99 PalmTracking
- PalmTracking
- 폼 리셋
- 리셋
- 파일
- Palm Tracking
- 카페24
- 파티션
- form input file reset
- 폼 파일 리셋
- 호스팅
- ssd 파티션
- window8 설치
- WebMysql
- BIOS
- cafe24
Archives
- Today
- Total
Mission Completed
강사님 라이브러리를 사용한 AsyncTask의 doInBackground 메소드 본문
아래에서 파싱부분만 고쳐 사용하면 된다. URL은 res/values안에서 xml로 정의를 한 상태이다.
String.format처러 사용하지만 순서를 정해주어야 한다.
변수가 들어가는 부분은 %1$s 형식으로 번호는 순서를 의미하고 뒤 알파벳은 참조할 변수형을 의미한다.
@Override protected Integer doInBackground(Object... params) { // 전체 데이터 수 int count = 0; // 접속할 주소를 urls.xml로부터 얻어오기 String xmlUrl = context.getResources().getString(R.string.daum_img_search, q, result, pageno); try { // XML 데이터 얻기 (라이브러리 사용) XmlPullParser parser = CXmlParser.getInstance().getXmlParser(xmlUrl); // XML 처리의 값 종류(START, END) int type = parser.getEventType(); // XML 태그 이름 String tag = null; /** 파싱된 값을 담기 위한 임시 변수 */ // 제목 String title = null; // 원문글의 링크 주소 String link = null; // 원본 이미지 URL String image = null; // 원본 이미지의 가로 해상도 int width = 0; // 원본 이미지의 세로 해상도 int height = 0; // 글 작성일시 String pubDate = null; // 작은 사이즈 이미지 주소 String thumbnail = null; while (type != XmlPullParser.END_DOCUMENT) { tag = parser.getName(); switch (type) { case XmlPullParser.START_TAG: if (tag.equals("title")) { title =parser.nextText(); } else if (tag.equals("link")) { link = parser.nextText(); } else if (tag.equals("image")) { image = parser.nextText(); } else if (tag.equals("width")) { width = Integer.parseInt(parser.nextText()); }else if (tag.equals("height")) { height = Integer.parseInt(parser.nextText()); } else if (tag.equals("pubDate")) { pubDate = parser.nextText(); } else if (tag.equals("thumbnail")) { thumbnail = parser.nextText(); } break; case XmlPullParser.END_TAG: if (tag.equals("item")) { count++; ImageItem item = new ImageItem(title, link, image, width, height, pubDate, thumbnail); this.publishProgress(item); } break; } type = parser.next(); } } catch (HttpClientException e1) { msg = e1.getLocalizedMessage(); Log.e("LIST_WORKER", "XML처리 실패됨"); this.cancel(true); } catch (Exception e) { // XML 데이터 처리 실패 msg = "XML처리 실패됨 (XML원문 문법오류)"; this.cancel(true); } return count; }
'개발 > Android 개발' 카테고리의 다른 글
잊어먹으면 찾게되는 DPI 크기 (0) | 2014.04.11 |
---|---|
Android Google맵 필기자료 (0) | 2013.07.05 |
Android ImageDownloader (0) | 2013.06.28 |
asynctask - Android XML thread (0) | 2013.06.27 |
Android with SQLite (0) | 2013.06.26 |