实践!业余时间做的一款阅读类App (MVP + RxJava + Retrofit)

   2016-09-12 0
核心提示:整体项目基于 MVP + RxJava + Retrofit 通过 Retrofit 实现了无网缓存 基于 MVP 模式对 Activity 和 Fragment 封装了两个基类,同样适用于非 MVP 的实现。 运用 RecyclerView 加载了多种复杂布局 用到了一些很棒的第三方库GitHub 项目地址 : https://github.c
  • 整体项目基于 MVP + RxJava + Retrofit
  • 通过 Retrofit 实现了无网缓存
  • 基于 MVP 模式对 Activity 和 Fragment 封装了两个基类,同样适用于非 MVP 的实现。
  • 运用 RecyclerView 加载了多种复杂布局
  • 用到了一些很棒的第三方库
  • GitHub 项目地址 : https://github.com/Werb/GankWithZhihu

闪屏

  • 实现了类似于 Twitter 的闪屏动画,中间的小太阳可以扩大到中心,进入主界面
  • 闪屏中的字体叫做 old English , 纽约时报专用字体

实践!业余时间做的一款阅读类App (MVP + RxJava + Retrofit)

主界面

  • 汇集了知乎日报,干货集中营,以及好奇心日报,三种不同风格的阅读体验
  • 知乎日报 API 取自 ZhihuDailyPurify
  • 干货集中营 API 取自 gank.io
  • 好奇心日报 API 是自己爬取所得,后续会整理到 GitHub 上

实践!业余时间做的一款阅读类App (MVP + RxJava + Retrofit)

一些有意思的地方

  • 知乎日报的详细详细界面,不是采用 webView 加载 url路径实现的,而是根据 api 返回的 html 标签代码,拼接 Css 和 JS 实现的,很有意思,我分析知乎这样做的原因,应该是为了实现在无网状态下,同样可以保持阅读体验
  • 各种APi返回的数据格式都很复杂,特别是好奇心日报,不单单是list集合,所以在项目中,使用 RecyclerView 加载了很多复杂布局,特别是实现了如何根据数据来判断布局的加载
  • 从开始学习到第一次使用 MVP + RxJava + Retrofit 开发项目,真正体会到了它的方便与强大之处
  • 项目中,有很多代码是可以重复利用的,为了更好的体会 MVP 思想,我目前还没有重构,后续会根据功能进行优化
  • 目前对内存优化问题,我控制的不是很好,如果有在这方面有经验很擅长的同学,希望可以联系我

实践!业余时间做的一款阅读类App (MVP + RxJava + Retrofit)

很高兴你看到这里

有时候啊 你总是在追赶前面的人

总是抱怨自己为什么不能再努力一点

累了你可以停下来 看看原来的自己

其实你已经很了不起了。

实践!业余时间做的一款阅读类App (MVP + RxJava + Retrofit)

License

  • 感谢开源项目 ZhihuDailyPurify
  • 感谢 gank.io
  • 感谢 MeiZhi
  • 同时希望可以帮助到其他人
  • 项目中用到的 api 所有权归 知乎,gank.io,好奇心日报所有,本项目仅是用来学习使用
Copyright 2016 Werb

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Contact Me

  • Email: 1025004680@qq.com
  • Blog :Werb’s blog
  • Weibo:UMR80
  • GitHub: Werb
 
标签: Retrofit RxJava
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • [Java] Retrofit2.0 如何进行GBK编码
    对Retrofit + OkHttp还不熟悉的人可以点传送门,先看下这两个东西的使用。Retrofit:https://github.com/square/retrofitOkHttp:https://github.com/square/okhttp分析接口文档要求Post请求,字段使用GBK编码我们先按照Retrofit的规范和接口文档来写接口: @PO
    12-23 RetrofitJava
  • Android常用的开源项目及其比较系列-Retrofit进
    上一篇我们谈了谈Androiod开源项目的网络框架, 比较了它们之间的优缺点,原文在这里。今天我们着重谈谈Retrofit框架如何更友好的使用,本着提出问题解决问题的原则,也为大家以后解决问题提供基本思路。目前都有哪些问题?根据官方Demo, 简单使用是这么样的
  • Android MVP架构实践
    Android MVP架构实践
    首先声明一下,没有完美的架构,只要适合自己的项目,那就是最好的架构。本例子是MVP + Retrofit + RxJava结合的例子,但本文的重点在于讲解MVP架构,所以涉及Retrofit和RxJava的部分将直接略过,默认读者已了解这两部分内容,如有需要,请自行查阅相关资料,
  • 从 Retrofit 源码学习 Java 的动态代理的使用
    Retrofit 是当前 Android 最流行的 HTTP 网络库之一了,其使用方式比较特殊,是通过定义一个接口类,通过给接口中方法和方法参数添加注解的方式来定义网络请求接口。这种风格下定义一个网络接口变得很简单。不过 Retrofit 是如何使用一个接口的 Class 创建出
    11-13 RetrofitJava
  • 打造企业级网络请求框架集合 retrofit+gson+mvp
    打造企业级网络请求框架集合 retrofit+gson+m
    本文是企业级网络框架第二篇主要讲MVP模式和Gson在Retrofit网络请求框架下的使用方式。(已更新为一篇) 对MVP不了解的请看梦之鬼索MVP模式在Android中的设计和实现 http://blog.csdn.net/androidmsky/article/details/52248797 对Retrofit还不了解的情看 打
    10-31 RetrofitGson
  • Retrofit分析之框架设计艺术
    Retrofit分析之框架设计艺术
    Retrofit使用者会觉得接口+注解方式去写网络请求很吊。但当你真正的去看它的源码,会被它独特,漂亮的解耦方式所吸引,整个结构运用了动态代理,策略模式,Builder模式,工厂等设计模式。Retrofit v2.1基于Okhttp3,可以说是对okhttp进行二次封装。先感受一下
    10-07 Retrofit
  • Android Retrofit框架解析
    随着Google对HttpClient的摒弃,和Volley的逐渐没落,OkHttp开始异军突起,而Retrofit则对okHttp进行了强制依赖。Retrofit也是Square公司开发的一款针对Android网络请求的框架,其实质就是对okHttp的封装,使用面向接口的方式进行网络请求,利用动态生成的代理类
    10-04 Retrofit
  • Android网络开源库-Retrofit(五)简易封装
    1.前言Rrtrofit的扩展性很强,如果对retrofit不熟悉的话,是很难应对各种各样的需求的。因此,在这里,做一下简单的封装。主要为了下面三点需求:使用简单加密处理错误处理2.怎样才能简单使用为了简单粗暴,我做了以下工作。使用单例Retrofit引入RxJava在这里
  • Android网络开源库-Retrofit(四)文件相关
    以前写过一些retrofit的相关文章,当时只是自己学习研究的,最近项目,加入了retrofit,因此遇到了一些问题,需要记录一下。1.前言在以前,写过retrofit上传文件相关,但是,需求总是变化的。前面的,介绍了上传进度的监听,但是,那时候是监听单文件进度。虽
  • 急速开发系列——Retrofit 响应数据及异常处理
    今天我们来谈谈客户端对通讯协议的处理,主要分为三部分:约定响应数据格式,响应数据的自动映射以及错误处理三部分。由于数据协议采用json的居多,因此我们在此基础上进行说明。约定响应数据格式协议格式通常来说,你拿到的设计文档中会存在通信协议的说明,
    09-29 RetrofitGson
点击排行