您当前的位置: 首页 >  Java

Material Design 风格 结合使用 Retrofit RxJava Jsoup Mvp 模式的一款资讯类 学习 app

发布时间:2016-10-27 18:11:33 ,浏览量:0

MaterialNews-Mvp
项目地址: hyr0318/MaterialNews-Mvp
简介:Material Design 风格 结合使用 Retrofit RxJava Jsoup Mvp 模式的一款资讯类 学习 app

Material Design 风格 结合使用 Retrofit RxJava Jsoup Mvp 模式的一款资讯类 学习 app,包含 4 个模块 轻松一刻,今日头条,每日图文,美图欣赏。整体代码很简单,很容易学到大概 Retrofit RxJava Jsoup Mvp 的一些基本使用

TypeScript Open Source Love

截图

模块简介: 百思不得姐:
  • 数据来源于百思不得其姐 app 抓取 api,其中包含视频播放,段子,图片。,视频播放使用JCViewPlayer 。
  • api 分析 :

    • 获取分类列表 api :http://s.budejie.com/public/list-appbar/budejie-android-6.5.11/ ` {

      "name": "精华",
        "submenus": [
            {
                "url": "http://s.budejie.com/topic/list/jingxuan/1/",
                "god_topic_type": "nan",
                "type": "topic",
                "entrytype": "self.koushu.android.feed.16081610415837",
                "name": "推荐"
            },
            {
                "url": "http://s.budejie.com/topic/list/jingxuan/41/",
                "god_topic_type": "nan",
                "type": "topic",
                "entrytype": "self.koushu.android.feed.16081610415837",
                "name": "视频"
            },`

      其中 url 中后面的例如/1/ /41/ 就是分类需要的类型参数

    • 获取分类下的列表数据 :http://s.budejie.com/topic/list/jingxuan/1/budejie-android-6.5.11/0-20.json

      其中 0 - 20 20 代表美亚加载 20 条数据,0 是刷新最新,下一页是用过去时间的时间戳作为参数获取下一页数据 例如:20621073 - 20

    • 获取评论 :http://api.budejie.com/api/api_open.php?a=dataList&c=comment&data_id=20565881

      data_id : 每条数据的 id ,用这个 id 区获取这条数据的所有评论

今日头条
  • 数据来源于今日头条网站抓取的 api 接口,由于是网站上抓取下来的,信息可能会出现重复,视频详情部分同样使用 webview 跳转内部视频详情地址播放
每日图文
  • 数据来源于http://www.tuweng.com/ 使用 Jsoup 抓取解析网站内容,用 RecycleView 瀑布流展示,图文详情内容数据同样使用 Jsoup 抓取图文详情页面解析出来。
美图欣赏
  • 数据来源百度图片网站抓取 api 接口,包含 二次元,丝袜美女,性感美女,美腿美女,唯美摄影,宠物,高清动漫,宠物 子分类
版本
  • v1.0 基础功能:包括每日图文,头条视频,美图欣赏,轻松一刻.欢迎页非正常手段抓取 one 一个 app 接口,如有侵权,请告知,立即删除。

      materialNewsApi.getHomeOneId()
    
    .flatMap(new Func1() {
              @Override public Observablecall(HomeOneIdResult homeOneIdResult) {
                  return materialNewsApi.getHomeOneData(homeOneIdResult.getData().get(0));
              }
          })
          .subscribeOn(Schedulers.immediate())
          .subscribe(new BaseObserver() {
              @Override protected void onSucceed(HomeOneResult result) {
    
                  multiLoadedListener.onSuccess(0 ,result);
    
              }
          });

    使用 flatmap 第一次请求获取文章 id,第二次请求使用获取到的 id 获取文章详情。

说明
  • 数据均来源于网络部分,抓取网站 api 接口,和通过 jsoup 解析网站内容。
  • 使用了一些 github 开源项目,非常感谢。
开源项目
  • StatusBarUtil :https://github.com/laobie/StatusBarUtil

  • JieCaoVideoPlayer:https://github.com/lipangit/JieCaoVideoPlayer

  • retrofit: https://github.com/square/retrofit

  • jsoup: https://github.com/jhy/jsoup
  • BGARefreshLayout-Android:https://github.com/bingoogolapple/BGARefreshLayout-Android
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    111043博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0758s