Android 新闻阅读器
应用程序将从热门 Android 开发人员站点 Androidster 获取一个 RSS 提要,并将它解析为一组简单的 Java 对象,您可以使用这些对象构建一个 Android ListView(参见下载部分获取源代码)。这是一种典型的多态行为 — 提供相同行为的不同实现(不同的 XML 解析算法)。清单 1 展示了如何在 Java 代码中使用一个接口建立这一模型。
清单 1. XML 提要解析器接口
java代码:
- package eoe.android;
- import java.util.List;
- public interface FeedParser {
- List< Message > parse();
- }
java代码:
- public class Message implements Comparable< Message >{
- static SimpleDateFormat FORMATTER =new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z");
- private String title;
- private URL link;
- private String description;
- private Date date;
- // getters and setters omitted for brevity
- public void setLink(String link) {
- try {
- this.link = new URL(link);
- } catch (MalformedURLException e) {
- throw new RuntimeException(e);
- }
- }
- public String getDate() {
- return FORMATTER.format(this.date);
- }
- public void setDate(String date) {
- // pad the date if necessary
- while (!date.endsWith("00")){
- date += "0";
- }
- try {
- this.date = FORMATTER.parse(date.trim());
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- }
- @Override
- public String toString() {
- // omitted for brevity
- }
- @Override
- public int hashCode() {
- // omitted for brevity
- }
- @Override
- public boolean equals(Object obj) {
- // omitted for brevity
- }
- // sort by date
- public int compareTo(Message another) {
- if (another == null) return 1;
- // sort descending, most recent first
- return another.date.compareTo(date);
- }
- }
标题名称:AndroidXML读写(二)
网站路径:http://www.shufengxianlan.com/qtweb/news27/339477.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联