MaterialNews-Mvp
项目地址:hyr0318/MaterialNews-Mvp 简介:Material Design 风格 结合使用 Retrofit RxJava Jsoup Mvp 模式的一款资讯类 学习 appMaterial Design 风格 结合使用 Retrofit RxJava Jsoup Mvp 模式的一款资讯类 学习 app,包含 4 个模块 轻松一刻,今日头条,每日图文,美图欣赏。整体代码很简单,很容易学到大概 Retrofit RxJava Jsoup Mvp 的一些基本使用
截图
模块简介:
百思不得姐:
- 数据来源于百思不得其姐 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<HomeOneIdResult, Observable<HomeOneResult>>() {
@Override public Observable<HomeOneResult> call(HomeOneIdResult homeOneIdResult) {
return materialNewsApi.getHomeOneData(homeOneIdResult.getData().get(0));
}
})
.subscribeOn(Schedulers.immediate())
.subscribe(new BaseObserver<HomeOneResult>() {
@Override protected void onSucceed(HomeOneResult result) {
multiLoadedListener.onSuccess(0 ,result);
}
});</pre>使用 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