一款模仿 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

  • mmkv
    mmkv 是腾讯开源的一个轻量级的存储库,用来代替SharedPreferences 再好不过了,具体使用请看官方介绍

  • BaseRecyclerViewAdapterHelper
    相信对于这个库大家应该是非常熟悉了吧,基本做android 开发的都用过吧,不多说了

  • SmartRefreshLayout
    这个库和上面那个库一样,用的非常多,

  • immersionbar
    实现沉浸式状态栏的一个第三方库,也是非常常用

  • glide
    图片加载库

  • rxpermissions
    权限加载库

  • logger
    日志打印库,打出来的日志格式看得比较舒服

  • utilcodex
    一个android 工具库,里面有非常多的工具类,当然实际项目用不到这么多,所以可以根据需求copy代码就好,不用集成

  • BannerViewPager
    一个第三方轮播图的库,这个库比较新,所以start数比较少,但是挺好用,推荐

  • PagerBottomTabStrip
    一个第三方导航库,app中的底部导航就是基于这个库,挺好用,自带小红点管理

  • gsyVideoPlayer
    一个第三方视频播放库,基于bilibili 开源的 ijkplayer,可自定义性也还不错,
    主要使用这个库实现类似微博等视频列表根据滚动判断自动播放,

项目Api

声明 ,项目中所有api接口都是抓取自开眼app,所有版权均归属开眼app所有,仅供学习借鉴使用,请勿用做商业用途,若有侵权,请联系作者删除。

首页

1.发现更多

  • 请求地址: http://baobab.kaiyanapp.com/api/v7/index/tab/discovery

2.每日推荐

  • 请求地址: http://baobab.kaiyanapp.com/api/v5/index/tab/allRec

3.日报精选

  • 请求地址 : http://baobab.kaiyanapp.com/api/v5/index/tab/feed

社区

1.推荐

  • 请求地址: http://baobab.kaiyanapp.com/api/v7/community/tab/rec

2.关注

  • 请求地址: http://baobab.kaiyanapp.com/api/v6/community/tab/follow

通知

1.主题

  • 请求地址: http://baobab.kaiyanapp.com/api/v7/tag/tabList

2.通知

  • 请求地址 : http://baobab.kaiyanapp.com/api/v3/messages

3.互动

  • 请求地址 : http://baobab.kaiyanapp.com/api/v7/topic/list

视频详情页

1.相关推荐

  • 请求地址 :http://baobab.kaiyanapp.com/api/v4/video/related?id=186856
参数说明 说明 是否必须 默认值
id 当前播放视频的id,从跳转页面视频item中获取
  1. 评论
  • 请求地址 :http://baobab.kaiyanapp.com/api/v2/replies/video?videoId=186856
参数说明 说明 是否必须 默认值
videoId 当前播放视频的id,从跳转页面视频item中获取

aok下载

  • 安装密码 : darryrzhong

项目地址

欢迎关注作者darryrzhong,更多干货等你来拿哟.

请赏个小红心!因为你的鼓励是我写作的最大动力!

更多精彩文章请关注

  • 个人博客:darryrzhong
  • 掘金
  • 简书
  • SegmentFault
  • 慕课网手记

Android 组件化开源app -开眼短视频(OpenEyes)相关推荐

  1. Android 组件化开源 app -开眼短视频(OpenEyes)

    Android-MvvmComponent-App 项目地址:darryrzhong/Android-MvvmComponent-App  简介: Android 组件化开源 app -开眼短视频(O ...

  2. Android 组件化开源app -开眼短视频(OpenEyes),面试官都被搞懵了

    | [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gxtdS0m8-1637298570901)(https://user-gold-cdn.xitu.io/2020/ ...

  3. Android 组件化开源app -开眼短视频(OpenEyes),android游戏开发的案例

    效果图: | [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u4OO4nd4-1637543768107)(https://user-gold-cdn.xitu.io/ ...

  4. Android 组件化开源 app -开眼短视频(OpenEyes),kotlin语言教程

    标签: 一款模仿 Eyepetizer | 开眼视频的 开源 app 这是一个完全模仿 开眼视频的开源 Demo,个人非常喜欢这款 app 的 UI 风格,由此第二次模仿该 app 进行相关技术的学习 ...

  5. 【Android组件化】app壳工程

    组件化中需要一个app壳工程,这个壳工程中不处理任何业务,就只是一个空壳,由它将所需要的各个组件模块组合起来,构成一个完整的应用. 直接new一个module 接着进入app的AndroidManif ...

  6. 腾讯技术团队人手一份的Android组件化实战笔记(含得到、微信、美团、爱奇艺APP架构项目及源码)

    前言 以前的Android开发大多用的中心化管理思想,将相同的资源集中进行管理.随着项目的发展,弊端渐显:集中管理的资源越来越多,多人开发也越来越麻烦,时常牵一发而动全身. 尤其是在大公司或者是大项目 ...

  7. Flutter实践——仿开眼短视频APP

    前言 eyepetizer_flutter是一款用flutter实现的仿开眼短视频的app,项目具有比较完整的结构.代码整洁规范,结构清晰. 项目展示 页面结构 代码结构

  8. android开源组件化框架,轻量级Android组件化协议框架 – Android-Route...

    Android-Router 高性能,灵活,简单易用的轻量级Android组件化协议框架,用来解决复杂工程的互相依赖,解耦出的单个模块有利于独立开发和维护. 目标 工程解耦 模块独立开发独立维护 让生 ...

  9. android组件化开发视频教程,教你打造一个Android组件化开发框架

    作者简介 本篇来自 lucky_billy 的投稿,分享了他的开源组件化框架,详细地讲解框架形成的思路,希望对大家有所帮助. lucky_billy 的博客地址: 解读开源框架设计思想 B站学习视频 ...

最新文章

  1. SSH客户端开发开源组件Ganymed SSH-2 for Java初体验
  2. ps抠头发插件_彻底告别抠图的烦恼!PS自动抠图超级插件Topaz ReMask大放送
  3. 单进程服务器-epoll版
  4. 【ES6】let命令、const命令、解构赋值
  5. inventor中齿条怎么画_涨知识干货|瀑布怎么画?山水画刀画中的八种分类
  6. DC-DC电路多种调制方式的介绍及对比
  7. XTU 1336 Perfect Palindrome Number
  8. HbuilderX如何创建一个新的Vue工程
  9. 聊天系统服务器端类图,使用Java多线程来实现多人聊天室 附实例代码
  10. 短信服务器部署位置,搭建短信服务器
  11. python采集最新世界大学排名, 来看看你的母校上榜没~
  12. 淘宝线上线下“出淘”欲打造零售业航母
  13. 关于 人工智能 的思考
  14. 2019视频编码相关岗位招聘情况
  15. 溯本清源,计算机视觉的三大主流方向:图像分割、目标跟踪与目标检测
  16. 字符串翻译python_字符串的这个东西-翻译表
  17. oracle虚拟网卡,怎样在oracle virtualbox里添加网卡
  18. Google Chrome视频弹窗插件安装
  19. Linux网络管理命令整理回顾
  20. 获取随机数函数sand()的总结

热门文章

  1. 【Linux上分之路】第一篇:Linux简介、发行版、开源协议
  2. 2020年12月大学英语六级作文
  3. aws lambda_7种使AWS Lambda更好的开源工具
  4. 数学分析教程史济怀练习14.1
  5. 2022年信息系统运行管理员考试大纲
  6. c语言求圆柱体体积只用int,C语言程序:求常用圆形体的体积
  7. pytorch知识一tensor数据声明、类型转换。微调rensnet34的注意点。
  8. git 和github的区别有哪些
  9. 指尖轮盘小游戏设计与实现(uniapp实现微信小程序)
  10. 1.算法入门必知必会:时间复杂度和空间复杂度