Android(安卓)豆瓣
1.环境配置:
需要的jar文件:http://code.google.com/p/douban-java/
oauth1.3jar 编译问题:
以rar方式将jar文件打开,把oatuh-1.3.jar包中有两个net/oauth/consumer.properties.sample删除一个consumer.properties.sample时,两个都会被删除.所以就先备份一个,两个都删除了,再放进去吧.
2.Fragment模块的使用.
onAttach-->onCreate-->...-->onResume 当切换到另一个fragment的时候,会调用onPause-->onStop-->onDestroyView 切换回来时,onCreateView-->onActivityCreated-->onStart-->onResume 也就是说onAttach 和onCreate只调用了一次。所以在进行数据初始化的时候应该把工作放到这两个方法中进行。
3.授权问题:http://blog.csdn.net/mmmlllii/article/details/7768056
4.获取评论全文.
刚开始一直没读懂API说的什么...怎么也不会想到做个API还只给概要. 如果你也和我纠结过同样的问题,告诉你,豆瓣真的没提供. 好像是因为版权问题.
在网上搜索了另外一个方法 通过Html页抓取.
我的方式是,先通过Api 调用getDoubanService().getReview(ID) 获取概要信息. 而后在加载在通过Html 网页抓取.
0.1获取链接
在通过getDoubanService().getReview(ID) 获取到ReviewEntry对象后,你可以在其Link里遍历一个rel值为alternate 的Link,通过他获取的link 就是该评论的Html页面.
0.2获取HTML
这个没得说,就是通过链接获取整个HTML内容.
0.3通过正则匹配评论的内容.
通过查看HTML你会发现完整的评论内容是在一个<span property="v:description"></span >节点里,且为唯一.这样就好办了.
/** * 获取评论HTML页面的 评论(全文)内容 * @return */public static String getFullReview(String html){Pattern p = Pattern.compile("<span property=\"v:description\">([^</span>]*)"); Matcher m = p.matcher(html); while (m.find()){ return m.group(1) ; }return "";}
通过获取到完整评论后在替换之前的概要内容,有一个较为平滑的过度.
更多相关文章
- android实现短信监听
- Android(安卓)获取当前连接的wifi名称和rssi
- Android(安卓)上网流量监控方法
- Android(安卓)反编译APK详解
- Android中将View的内容保存为图像的方法
- Android之WebView和js交互-调用失败的看这里
- Android(安卓)8.0以后获取SSID为的解决方式
- Android(安卓)5.0之后如何获取topStack
- springmvc dubbo整合cms内容发布平台ios android