Date : 2010/07/23
Writen by Dayyoung
Description :
This is Source that make the App show RSS feed information by XmlPullParser.
Download Link :
Reference Site:
http://blog.naver.com/skyalzza?Redirect=Log&logNo=10085247021
지난 시간에 설명한 CustomListView를 사용해 실제적으로 XML데이터를 가져오는 APP을 만들어 볼 것이다.
개인적으로 지난 한달간 블루콘APP을 만드느라 글을 못썻지만 앞으로는 열심히 쓸 계획 (또 다른 APP 작업이 생기면?)
일반적으로 스마트폰 APP에서 가장 접하기 쉬운 구조는 ListView형태라고 언급했었다.
이번 시간에 구현할 APP역시 웹상에서 XML 정보를 가져와서 ListView에 뿌려주는 가장 (가장 써먹을일이 많은) 정형적인 구조의 APP이 될 것이다.
이번 시간에 가져쓸 XML 메타정보는 RSS타잎으로 가장 만만한 Androday feed싸이트 이다.
전체 경로 : http://test.androday.com:7788/blog/?feed=rss2
Daily 태그글만 엮은 RSS 피드 : “http://test.androday.com:7788/blog/?feed=rss2&tag=daily
2번의 엮은 글로 설명될텐데 오늘은 간단한 구조로 만드는 첫시간 !
1. 한줄의 Item에 대한 사용자정의를 list.xml 과 IconTextItem.java /IconTextView.java 파일로 구현한다.
2. BaseAdater 클래스를 상속받는 IconTextListAdapter의 GetView()가 적용된 ListView의 모습.
3. XML정보로부터 목록 정보를 가져오기 위해서 사용자 정의한 getXmlData(“daily”) 함수를 사용하여,
RSS목록에서 daily 라는 키워드로 목록/링크/저자 정보를 불러와 출력한다.
getXmlData(“daily”) 의 반환값 형태는 ArrayList<XmlData> 형태이고,
화면에 출력하기 위해서 이터레이터 패턴으로 가져썻다. (객체지행 자료구조)
Iterator<XmlData> it = m_xmlData.iterator();
while (it.hasNext()) {
// Book str = it.next();
XmlData xmlData = it.next();
adapter.addItem(new IconTextItem(res.getDrawable(R.drawable.arrow),
xmlData.d_title, xmlData.d_link, xmlData.d_author));
}
4. 각각의 ListView를 클릭했을 때의 이벤트를 구현해준다.
본 App에서는 Intent를 통해 웹뷰에 링크를 호출하게 한다.
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
IconTextItem Item = (IconTextItem) adapter.getItem(arg2);
String[] data = Item.getData();
Intent intent = new Intent (Intent.ACTION_VIEW,Uri.parse(data[1]));
startActivity(intent);
}
5. 오늘 샘플은 App형태로 제작하였기 때문에 해상도에 맞게 아이콘파일을 작업해서 (첨부파일)
각각의 해상도에 적합한 Drawable폴더에 넣어준다.
6. Icon파일이 적용된 APP 완성 !~
이 저작물은 크리에이티브 커먼즈 저작자표시 3.0 Unported 라이선스에 따라 이용할 수 있습니다.
'Daily Sample' 카테고리의 다른 글
[Day16] Android SD카드 MediaPlayer App만들기 소스 (0) | 2011.11.30 |
---|---|
[Day15] Android XmlPullParser AndroDay App만들기2 소스 (0) | 2011.11.30 |
[Day13] Android Custom ListView App 소스 (0) | 2011.11.30 |
[Day12] Android Simple Comic Book App 소스 (0) | 2011.11.30 |
[Day11] Android Custom Dialog theme 적용 소스 (0) | 2011.11.30 |