AndroidXML读写(二)

Android 新闻阅读器

应用程序将从热门 Android 开发人员站点 Androidster 获取一个 RSS 提要,并将它解析为一组简单的 Java 对象,您可以使用这些对象构建一个 Android ListView(参见下载部分获取源代码)。这是一种典型的多态行为 — 提供相同行为的不同实现(不同的 XML 解析算法)。清单 1 展示了如何在 Java 代码中使用一个接口建立这一模型。

清单 1. XML 提要解析器接口

java代码:

 
 
  1. package eoe.android; 
  2. import java.util.List; 
  3. public interface FeedParser { 
  4. List< Message > parse(); 

java代码:

 
 
  1. public class Message implements Comparable< Message >{ 
  2. static SimpleDateFormat FORMATTER =new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z"); 
  3. private String title; 
  4. private URL link; 
  5. private String description; 
  6. private Date date; 
  7. // getters and setters omitted for brevity 
  8. public void setLink(String link) { 
  9. try { 
  10. this.link = new URL(link); 
  11. } catch (MalformedURLException e) { 
  12. throw new RuntimeException(e); 
  13. public String getDate() { 
  14. return FORMATTER.format(this.date); 
  15. public void setDate(String date) { 
  16. // pad the date if necessary 
  17. while (!date.endsWith("00")){ 
  18. date += "0"; 
  19. try { 
  20. this.date = FORMATTER.parse(date.trim()); 
  21. } catch (ParseException e) { 
  22. throw new RuntimeException(e); 
  23. @Override 
  24. public String toString() { 
  25. // omitted for brevity 
  26. @Override 
  27. public int hashCode() { 
  28. // omitted for brevity 
  29. @Override 
  30. public boolean equals(Object obj) { 
  31. // omitted for brevity 
  32. // sort by date 
  33. public int compareTo(Message another) { 
  34. if (another == null) return 1; 
  35. // sort descending, most recent first 
  36. return another.date.compareTo(date); 

标题名称:AndroidXML读写(二)
网站路径:http://www.hantingmc.com/qtweb/news27/339477.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联