基于 MVP+RxJava2+Retrofit2 的应用—熊猫眼

简介

熊猫眼是一个平时用来学习的练手的项目,做这样一个应用的目的主要有两个:

  • 公司项目因为历史原因还有风险控制方面的问题,新的技术不一定能够应用在现有的版本上。所以手痒了就自己弄个应用写一写,持续的更新增加自己的技能熟练度。同时也把坑踩一踩,以后用到的时候可以少走绕路。
  • 像之前的 MVPDemo 这个仓库,只是进行单一功能的验证测试。写得比较杂乱,慢慢的会失去写下去的热情。所以萌生了写个稍微完整一点的应用的想法。

TODO

m3u8 视频离线缓存 视频页面偶现闪退BUG修复

仓库地址

https://github.com/PandaQAQ/PandaEye

APK 下载

http://oddbiem8l.bkt.clouddn.com/com.pandaq.pandaeye.apk

界面功能

知乎日报

网易新闻

视频

技术点

整体开发模式

  • MVP

网络请求及异步处理:

  • RxJava2+Retrofit2(早前使用RxJava+Retrofit,可以回滚查看)
  • Okhttp
  • Gson
  • RxBus 实现事件总线功能

图片加载:

  • Picasso

新闻数据缓存:

  • DiskLurCache (PandaEye 中我对 DiskLruCache 进行了简单的封装,使用类似于 SharePrefenrence)

视频播放器 :

  • JieCaoPalayer

内存泄漏检测 :

  • leakcanary

其他:

  • 图片毛玻璃效果(头像背景效果)
  • 自定义封装的 RecyclerView: MagicRecyclerView 支持头部底部和标签
  • 自定义 behavior 实现滑动时底部导航栏的隐藏显示效果
  • Android N 文件读写适配
  • Android M+ 运行时权限申请封装
  • 分享 ShareSDK 接入(分享平台未进行注册申请,后续再完善)
  • 自定义相册图片选择
  • Activity 右滑返回

原文发布于微信公众号 - 何俊林(DriodDeveloper)

原文发表时间:2017-04-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逸鹏说道

NodeJS 应用仓库钓鱼

前言 城堡总是从内部攻破的。再强大的系统,也得通过人来控制。如果将入侵直接从人这个环节发起,那么再坚固的防线,也都成为摆设。 下面分享一个例子,利用应用仓库,渗...

2975
来自专栏web前端教室

【周总结】0827前端零基础班本周总结(08.27-08.31)

每一期的学生情况都是不同的,因为是从完全的零基础开始讲起,面向的是完全的前端零基础学生。所以第一周基本上进度都比较慢,主要是通过课后作业和课程直播时的即时反馈来...

943
来自专栏Flutter入门到实战

全面总结国内BATH等大厂开源的安卓有关的库(持续更新中...)

UltraViewPager 是阿里开源的一个封装多种特性的 ViewPager ,主要是为多页面切换场景提供统一解决方案。

3282
来自专栏CSDN技术头条

IMVC(同构 MVC)的前端实践

导语 随着 Backbone 等老牌框架的逐渐衰退,前端 MVC 发展缓慢,有逐渐被 MVVM/Flux 所取代的趋势。 然而,纵观近几年的发展,可以发现一点,...

2296
来自专栏程序员互动联盟

小白如何学好linux?

首先我们还是来普及以下概念,讲点虚的。 现在是图形系统的天下,windows我们用了20年。成功归功与它图形界面,你会点鼠标吗你会敲键盘吗?所以你会上网会聊天会...

3767
来自专栏娱乐心理测试

第一个微信小程序

2896
来自专栏七夜安全博客

(原创)逆向某停车app

1476
来自专栏CSDN技术头条

流动的数据——使用 RxJS 构造复杂单页应用的数据逻辑

我们经常见到这么一些场景: 微博的列表页面; 各类协同工具的任务看板,比如 Teambition。 ? 这类场景的一个共同特点是: 由若干个小方块构成; 每个小...

2596
来自专栏带你撸出一手好代码

一种消除冗余html的思路

开发网站的时候,尤其是一些后台管理系统,会出现很多重复性工作,为追求方便快捷解决方法往往是简单粗暴的复制粘贴。复制粘贴会让代码散发出惹人讨厌的坏味道每个程序员都...

3533
来自专栏前端儿

基于Node.js实现一个小小的爬虫

从拉钩招聘网站中找出“前端开发”这一类岗位的信息,并作相应页面分析,提取出特定的几个部分如岗位名称、岗位薪资、岗位所属公司、岗位发布日期等。并将抓取到的这些信息...

1572

扫码关注云+社区

领取腾讯云代金券