分享一个自己写的cnBeta客户端源码

来源:互联网 发布:淘宝订单险是什么意思 编辑:程序博客网 时间:2024/05/21 22:47

CnBeta是我本人常去的科技资讯站点,刚好最近在学习android开发,就萌生了自己写了一个cnbeta的android客户端想法。


原理自然是很容易想到的:

  • 首先获取cnbeta新闻列表页的html代码,然后提取出自己需要的信息(新闻标题、连接)显示在ListView中。
  • ListView的底部有一个“加载更多”的按钮,在点击加载第二页新闻列表
  • 当点击ListView的某一条新闻时,在获取相应新闻页的代码,提取出新闻正文显示。
  • 当然本地存储是不能少的,当加载一条新闻时,首先判断在本地数据库中是否已经有此新闻(新闻的网页链接可以作为标识符),本地有的话直接从数据库中读取,如果没有则从网页加载,然后顺便存入数据中,方便下次阅读。
  • 为了节省流量,加上是否显示图片的设置。
其中用到的部分相关的知识点在我前几篇博客中有写:
  • 使用Jsoup 解析网页 http://blog.csdn.net/barryhappy/article/details/7366654
  • TextView显示图片的方法:http://blog.csdn.net/barryhappy/article/details/7370313
  • 使用Preference保存设置:http://blog.csdn.net/barryhappy/article/details/7381544
  • 加载资源时显示ProgressDialog提示:http://blog.csdn.net/barryhappy/article/details/7376231
  • ……

在写得过程中还遇到的一个问题是:cnbeta的网页在加载“更多”新闻时使用了ajax技术,导致了我在试图获取第二页新闻时遇到了很大困难…… 
后来的解决办法是:我发现了cnbeta还有一个手机版的页面,那个网页分析起来就容易的多了(相当于是绕过了分析ajax加载地址的问题)

总而言之,前后加起来大概有三四天的时间,边学边写,最后东西是基本上能用了。
虽然cnbeta以读者评论犀利而出名,但是不喜欢看评论,所以就没有做评论的功能。












--------------------2013-10月添加---start----------------------------

由于CSDN改版,以下代码的新闻详情不能显示了,需要修改代码。

我懒得改了,需要的同学可以自己尝试修改一下。

--------------------2013-10月更新---end--------------------------------


源代码(eclipse工程文件)http://download.csdn.net/detail/barryhappy/4170139

应用截图如下,(在我的小米手机(内核4.0.3)运行效果):
                   



另外我把它传到了机锋上,欢迎下载支持、交流、学习~ ~   http://apk.gfan.com/Product/App244198.html

0 0
原创粉丝点击