分享一个自己写的cnBeta客户端源码
2015-04-07 12:35
381 查看
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://hi.csdn.net/attachment/201203/23/0_1332515115YMb6.gif)
![](http://hi.csdn.net/attachment/201203/23/0_1332515163zAt7.gif)
![](http://hi.csdn.net/attachment/201203/23/0_1332515074tCiD.gif)
另外我把它传到了机锋上,欢迎下载支持、交流、学习~ ~ http://apk.gfan.com/Product/App244198.html
原理自然是很容易想到的:
首先获取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://hi.csdn.net/attachment/201203/23/0_1332515115YMb6.gif)
![](http://hi.csdn.net/attachment/201203/23/0_1332515163zAt7.gif)
![](http://hi.csdn.net/attachment/201203/23/0_1332515074tCiD.gif)
另外我把它传到了机锋上,欢迎下载支持、交流、学习~ ~ http://apk.gfan.com/Product/App244198.html
相关文章推荐
- 我的Android笔记(十二)——分享一个自己写的cnBeta客户端源码
- 【分享】自己写的一个可空的DateTimePicker控件-附源码
- 分享一个自己做的一个3DM手机客户端
- 分享一个难得的YiBo微博客户端应用源码Android版
- 分享一个自己写的 新浪微博客户端
- 分享一个简单新闻客户端源码
- 分享一个自己写的使用dubbo泛化机制+接口编程的消费客户端jar包
- 分享一个客户端程序(winform)自动升级程序,思路+说明+源码
- 分享一个自己在用的apache mina的解码器decoder源码
- 分享一个完美的新闻客户端(酷商城)Android源码
- 分享一个小工具,提供源码,以便根据自己需要进行修改
- 分享一个自己写的谷歌日历客户端(Google Calendar)
- 四方力道源码(自己花钱大家分享) 下载了就知好用
- 分享自己做的一个系统工具--CME [友情转载]
- 分享一个页面宠物源码
- 和大家分享下,自己写的一个截图小工具
- [导入]一个可以自己布局的推箱子游戏 (附源码)
- 分享一个Windows Mobile下自己写的联系人备份工具
- 分享自己编写的一个很简单的网站访问跟踪程序
- 自己写的一个客户端验证js