分享一个自己写的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
- 分享一个自己写的cnBeta客户端源码
- 我的Android笔记(十二)——分享一个自己写的cnBeta客户端源码
- 分享一个自己写的IOCP服务器的类源码
- 初来乍到,分享一些自己写的源码!
- 分享一个自己写的使用dubbo泛化机制+接口编程的消费客户端jar包
- 分享一个自己写的谷歌日历客户端(Google Calendar)
- 分享一个自己做的一个3DM手机客户端
- <源码>自己写个简单的单播SNTP客户端
- 分享一个PHP写的简单webservice服务端+客户端
- 分享一个自己写的JFinal的BaseController (1)
- 分享一个自己写的JFinal的BaseController (2)
- 分享一个自己写的JFinal的BaseController (3)
- 分享自己写的一个贪吃蛇的游戏(Linux)
- RPG/400 自己写的一个小实例分享!(1)
- RPG/400 自己写的一个小实例分享!(2)
- RPG/400 自己写的一个小实例分享!(3)
- 分享一个自己写的J2ME SAX XML解析器.
- 分享一个自己写的httpWatch自动化测试工具
- #pragma mark in Swift?
- Visual Studio 2010 C/C++连接mysql
- CSU 1113 Updating a Dictionary
- 清除安卓应用里多余的资源文件
- Java并发编程:Callable、Future和FutureTask
- 分享一个自己写的cnBeta客户端源码
- 1.8
- eclipse查看类的继承、实现关系快捷键
- 【一道不知道名字的题】AC自动机+dp
- 1.9
- Android组件ListView的适配器BaseAdapter
- Leetcode:Binary Search Tree Iterator
- CSU1115 最短的名字
- 线性表实现之一:数组