Android 组件化开源app -开眼短视频(OpenEyes)
一款模仿 Eyepetizer | 开眼视频的 开源app
- 这是一个完全模仿
开眼视频
的开源Demo,个人非常喜欢这款app 的UI 风格,由此第二次模仿该app进行相关技术的学习与整合, - 废话不多说,直接上图 ,不论是商业项目还是开源app,首先肯定是看眼缘
效果图:
项目结构
该开源项目采用组件化的方式开发,使用MVVM + AndroidX + jetpack 组件为基本架构进行开发。
- 项目结构图
- app 架构图
app 功能介绍
当然由于是个人闲暇时间基于兴趣开发的,没有UI 小姐姐 和测试小姐姐的陪伴,自然存在许些缺陷,当然写这个项目更多的是为了学习和锻炼app架构搭建的思维,希望能够帮到刷到这个博文的小伙伴,一起学习一起进步。
功能方面,想了想觉得还是没啥好说的,就是UI 上显示的那样,相信在座的各位看官都是熟的不能再熟了,
app 使用技术介绍
- Mvvm 架构设计
关于各种mvx 的区别,我就不一一介绍了,上Google 搜一下就好,关于项目中使用的mvvm设计封装,请移步 这里 ;代码是最好的老师,直接看源码吧。 - Android X
这个也没啥好说的,就是android Support 库的升级迁移版而已,现在新项目肯定都是直接androidX了,对Android X 不熟悉的小伙伴,请移步 官方介绍 ; - jetpack
这个也没啥好说的,jetpack就是Google推出的一套组件开发库,直接上图可能更好, 官方介绍
基本最主要使用的就是这些了
app 第三方的依赖
- RxEasyHttp
RxEasyHttp是一款github上开源的RxJava2+Retrofit2实现简单易用的网络请求框架,在本人发现并观摩其源码和设计原理后,发现着实写的不错,各种业务场景基本都设计到了,api 设计的也不错,当然也存在一些瑕疵,所以实际项目中还需根据自己的业务需求进行二次开发,推荐给各位看官RxEasyHttp - Loadsir
loadsir是一个app 页面状态管理的第三方库,也非常得实用,用来控制app 内的加载页面 、加载错误页面、空页面显示,点击重试等,从此告别自己控制网络加载失败等页面 show 、 hint 操作 和ViewStub等的控制,
可以基于自己的业务进行基类封装,具体请看项目base库中activity 和fragment 基类的封装。推荐给各位看官
[Loadsir](https://github.com/darryrzhong/LoadSir/blob/master/README-cn.md
)
- mmkv
- 是腾讯开源的一个轻量级的存储库,用来代替SharedPreferences 再好不过了,具体使用请看官方介绍
- BaseRecyclerViewAdapterHelper
相信对于这个库大家应该是非常熟悉了吧,基本做android 开发的都用过吧,不多说了 - SmartRefreshLayout
这个库和上面那个库一样,用的非常多, - immersionbar
实现沉浸式状态栏的一个第三方库,也是非常常用 - glide
图片加载库 - rxpermissions
权限加载库 - logger
日志打印库,打出来的日志格式看得比较舒服 - utilcodex
一个android 工具库,里面有非常多的工具类,当然实际项目用不到这么多,所以可以根据需求copy代码就好,不用集成 - BannerViewPager
一个第三方轮播图的库,这个库比较新,所以start数比较少,但是挺好用,推荐 - PagerBottomTabStrip
一个第三方导航库,app中的底部导航就是基于这个库,挺好用,自带小红点管理 - gsyVideoPlayer
一个第三方视频播放库,基于bilibili 开源的 ijkplayer,可自定义性也还不错,
主要使用这个库实现类似微博等视频列表根据滚动判断自动播放,
项目Api
声明 ,项目中所有api接口都是抓取自开眼app,所有版权均归属开眼app所有,仅供学习借鉴使用,请勿用做商业用途,若有侵权,请联系作者删除。
首页
1.发现更多
2.每日推荐
3.日报精选
社区
1.推荐
2.关注
通知
1.主题
2.通知
3.互动
视频详情页
1.相关推荐
|参数说明 |说明 |是否必须 |默认值 |
|-|-|-|-|
|id|当前播放视频的id,从跳转页面视频item中获取|是|无|
- 评论
|参数说明 |说明 |是否必须 |默认值 |
|-|-|-|-|
|videoId|当前播放视频的id,从跳转页面视频item中获取|是|无|
aok下载
项目地址
欢迎关注作者darryrzhong,更多干货等你来拿哟.
请赏个小红心!因为你的鼓励是我写作的最大动力!
更多精彩文章请关注
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Atlas(元数据管理)从扫盲到和Hive、HBase、Kafka、Flink等集成开发
先对数据分个类 企业数据管理的内容及范畴通常包括交易数据、主数据以及元数据。(1)交易数据:用于纪录业务事件,如客户的订单,投诉记录,客服申请等,它往往用于描述在某一个时间点上业务系统发生的行为。(2)主数据:主数据则定义企业核心业务对象,如客户、产品、地址等,与交易流水信息不同,主数据一旦被记录到数据库中,需要经常对其进行维护,从而确保其时效性和准确性;主数据还包括关系数据,用以描述主数据之间的关系,如客户与产品的关系、产品与地域的关系、客户与客户的关系、产品与产品的关系等。(3)元数据:即关于数据的数据,用以描述数据及其环境的结构化信息,便于查找、理解、使用和管理数据。 什么是元数据管理 我们前面讲解的技术和平台都在解决主数据和交易数据的采集、加工、存储、计算等问题。但面对海量且持续增加的各式各样的数据时,你一定想知道数据从哪里来以及它如何随时间而变化?采用Hadoop必须考虑数据管理的实际情况,元数据与数据治理成为企业级数据湖的重要部分。所谓元数据管理其实通俗来讲就两点:(1)把各个组件(一般是存储)的元数据收集起来统一管控(2)利用这些收集的元数据去实现各种上层应用以满足各种数...
- 下一篇
Java必学MySQL数据库应用场景
Java必学之MySQL数据库应用场景,在当前的后台开发中,MySQL应用非常普遍,企业在选拔Java人才时也会考察求职者诸如性能优化、高可用性、备份、集群、负载均衡、读写分离等问题。想要成为高薪Java工程师,一定要熟练掌握MySQL,接下来好程序员Java教程小编就给大家分享MySQL数据库应用场景知识。1、单Master单Master的情况是普遍存在的,对于很多个人站点、初创公司、小型内部系统,考虑到成本、更新频率、系统重要性等问题,系统只依赖一个单例数据库提供服务,基本上已经满足需求。单Master场景下应该关注四点:数据备份(冷备、热备、温备)、数据还原、备份监控、数据文件远程存储。2、一主一从考虑一主一从的多数初衷是系统性能和系统高可用性问题,除了单Master场景中的备份工作需要做好以外,还有性能优化、读写分离、负载均衡三项重点工作需要考虑。3、一主n从一旦开始考虑一主多从的服务器架构,则证明你的系统对可用性、一致性、性能中一种或者多种的要求比较高。好多系统在开始搭建的时候都会往这个方向看齐,这样“看起来”系统会健壮很多。一主n从关注的重点是:数据一致性、脑裂、雪崩、连接...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7