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 "";}
通过获取到完整评论后在替换之前的概要内容,有一个较为平滑的过度.


更多相关文章

  1. android实现短信监听
  2. Android(安卓)获取当前连接的wifi名称和rssi
  3. Android(安卓)上网流量监控方法
  4. Android(安卓)反编译APK详解
  5. Android中将View的内容保存为图像的方法
  6. Android之WebView和js交互-调用失败的看这里
  7. Android(安卓)8.0以后获取SSID为的解决方式
  8. Android(安卓)5.0之后如何获取topStack
  9. springmvc dubbo整合cms内容发布平台ios android

随机推荐

  1. Android常用工具使用
  2. Android多网卡
  3. Android 开发者的 Flutter(五) —— Flutte
  4. 《论Android的发展方向(个人见解)》
  5. 【Android】Content Provider基础之SQL
  6. AndroidManifest.xml详解
  7. 深入浅出Android Gradle构建系统(三:buil
  8. Android实现透明指示层
  9. Android NDK编译 ndk-build方式
  10. Android游戏开发之旅系列一