因为csdn阅读器的主要开发工作是在寒假中完成的,本来想写个总结,最近刚开学有一个项目在做比较忙,现在才抽出时间,来总结一下,同时在CSDN阅读器发布啦这个帖子中,有不少人回复,当然比较多的是称赞,给了自己很大的鼓舞,非常感谢大家,也有一些人问一些关于CSDN阅读器实现的过程。    在讲CSDN阅读器实现的总结之前,先说一下目前CSDN阅读器的情况,在写本贴时CSDN阅读器的用户是318位,启动次数716次,基本无收入,还有一个情况不得不说一下,小米手机用户占170位。(根据万普平台统计)。
     
    从整个CSDN阅读器的实现来讲比较简单,总的包括以下几个部分,RSS文件下载,RSS文件解析,界面编程,嵌入广告这几个部分,现在看来比较简单,但是整个项目来讲是在寒假期间中边学习边做的,也遇到了一些困难。但是我感觉通过一个项目来学习技术还是非常不错的学习方法。第一部分,RSS文件下载主要是通过RSS地址(可以在CSDN博客频道获取),通过http下载到手机上。也比较简单。
主要代码如下:
public void downloadFile(String urlString, String filename) {
try {
URL url = new URL(urlString);
InputStream is = url.openStream();
OutputStream os = openFileOutput(filename, MODE_WORLD_READABLE);
byte[] buf = new byte[1024];
int hasRead = 0;
while ((hasRead = is.read(buf)) > 0) {
os.write(buf, 0, hasRead);
}
is.close();
os.close(); } catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
主要过程可以从代码中看到这里不详细解释了。第二部分,RSS文件解析在RSS文件下载后,要想把数据显示到界面上,当然需要RSS解析,在XML解析中,当然有很多方法,比如Dom、SAX等等。因为在移动开发中,移动设备的内存空间非常有限,所以适合采用SAX解析方式,SAX解析是一种基于事件驱动的解析方法。在解析过程中通过事件来驱动解析的进行,相对Dom方式(Dom解析方式是先把文档读入内存,然后再进行解析)比较节省资源。对于android中xml的解析方法,可以参考我在cnblogs中的一篇总结android解析XML总结(SAX、Pull、Dom三种方式)
因为文件解析代码比较长,这里就不帖了,相信大家在看完android解析xml总结后,在rss文件解析方面应该没问题了。第三部分,界面编程在界面编程过程中,主要是布局和listView的使用,关于这些知识推荐大家一个博客(谦虚的天下),看看关于他得文章。第四部分,加入广告关于加入广告,主要是为了学习看看怎么加入广告,看到了CSDN的一位高人(fenger8293)的一个android个人开发者的总结的帖子,也非常想搞一个比较好的东西,可以赚到钱,我在那里看到由两个广告服务商不错,一个是多盟,一个是万普,根据自己这半个月的观察,因为用户量比较少,可能出现偏差,勿怪,多盟的收入比较稳定(在CSDN阅读器中,在阅读文章详情的下面的广告就是多盟提供的),,在万普我只使用了积分墙(在CSDN阅读器,积分达到10分就可以全部关闭广告。就是通过积分墙来获取积分的)。
    先写这么多吧,本文只是简单的介绍了一下CSDN阅读器的实现过程,等过段时间,我会对CSDN阅读器做一下简单的升级。关于CSDN阅读器源码,我会在这次升级之后发布出来。大家可以详细的了解一下CSDN阅读器的实现方法。