一、前言
之前已经介绍了酱爆视频的开发原理,本文就来介绍整个项目的开发流程以及用到的技术点,在之前文章也说到了酱爆视频主要是把当前的某音,某手,某山,某拍短视内容整合到一个app中,前面通过一些手段已经可以拿到他们的视频数据,那么我们现在需要做的就是把数据包装出来进行展示即可,而为什么我要做这个应用,原因在之前也说了,不了解的同学可以点击查看详情:为什么我要死磕这四家短视频,因为我穷!
二、页面介绍
首先我们来看应用的大致功能,酱爆视频功能主要包括主页的四个tab切换,然后就是视频播放详情页,视频支持下载,设置页面中也是可以管理下载视频,删除视频等操作。而应用中也包括了之前介绍的今日头条视频下载器功能;
第一页:闪屏页
每个应用都会有闪屏页,作用一般就两个,一个是接入闪屏页广告,就好比上面的封面图可以换成广告图的,一个是为了加载程序前置资源,有的应用启动会初始化很多事情,所以闪屏页就相当于延迟,但是对于用户来说无感知的!
第二页:主页
主页主要采用了ViewPager+Fragment实现四个短视频内容切换功能,标题栏中包括左滑菜单功能和用户登录功能,而在主页中也多了一个右下角底部弹出菜单,这个菜单当向下滑动就隐藏,向上滑动就弹出,包括两个子菜单一个是刷新最新数据,还有一个是进入设置页面!
第三页:视频播放页
这个页面主要从主页点击视频进入以及本地保存的视频点击进入,页面顶部菜单包括返回,视频标题,以及菜单栏,菜单栏中包括下载视频,视频详情,视频链接复制,视频设置等功能。底部主要包括视频的附加信息,这里四个短视频平台信息不一样,某音app是有视频音乐,不过播放数和点赞数都有不会变,然后就是用户头像,用户名,用户年龄,地域等信息。右下角是一个播放暂停按钮,而点击视频会隐藏顶部菜单,视频详情页也有很多隐藏功能,比如增加了上下滑动快速切换下一个视频,右滑动退出等操作,这里做了区分短视频没有进度条而且支持循环播放,而某拍是长视频有对应的进度条可以拖动进度。
第四页:左侧菜单栏页
这个菜单栏,主要是借鉴酷狗音乐的左滑菜单功能,主要利用水平滑动View实现,菜单中主要包括登录入口,今日头条下载教程入口,设置入口,本地视频管理入口等。点击和左滑都可以隐藏菜单回到主界面!
第五页:设置页
设置页面主要包括主页的四个短视频tab的顺序调换,清空缓存(包括清除视频和图片功能),管理本地下载的视频等功能!
第六页:今日头条视频下载页
今日头条视频下载页面主要通过Intent来获取头条视频数据,进行解密请求获取到正确的视频原始地址,然后下载即可。具体原理可以大家可以看这篇文章:今日头条视频下载器原理解析。
第七页:本地下载管理页
本地保存视频,长按可以删除视频以及查看视频详情信息,点击可以播放视频,因为已经保存在本地所以可以无网络即可播放,右侧的删除按钮可以删除所有的视频内容!
三、技术介绍
上面大致介绍了一些页面信息,还有其他不是很重要的页面就不多说了,下面就来介绍应用中用到的核心技术:
第一个、自定义View集合
1、左滑菜单栏:LevideoSlideMenu
如果大家觉得自己的项目可能需要用到,可以网上直接搜索”仿酷狗左滑菜单实现”即可!
2、主页弹出式菜单:FloatingActionsMenu
想要使用的同学,直接网络搜索这个控件名称即可。
3、加载样式:一个是模仿支付宝的笑脸View:SmileyLoadingView,一个是传统的加载View:ProgressWheel
这两个样式都可以直接网络搜索控件名称即可。
4、下拉刷新样式:利用v4包中的SwipeRefreshLayout
5、平行瀑布流样式:StaggeredGridView
6、拖动条:DiscreteSeekBar
以上我说的控件大家如果在自己的项目中使用,可以直接全网搜空间名字即可!
第二、视频播放器和网络框架
应用中用到的是播放器是ijkplayer了,但是我们的需求是某音这种视频非常短,所以需要循环播放,但是ijkplayer本身不支持循环播放,所以需要我们自己手动设置一下即可。也需要处理https协议的视频播放源问题,网络访问用的是主流的okhttp即可。
第三、应用中资源问题
因为之前说了应用都是我自己弄的,所以没有UI,那么有一些资源怎么弄呢?这里就需要去拿来主义了,比如应用中开始就想好所有的icon都必须是白色,那么就去微信,网易音乐,短视频应用中反编译之后一个一个资源找,最终能够找到想要的配套icon即可。也有的资源比如按钮背景,圆角图片等不用切图,全部使用xml来进行编写即可。这样我们就相当于除去了UI的这部分功能。自己也可以设计的。大家下载应用体验之后会发现其实应用界面还算可以的。
四、应用演示
有的同学获取觉得我为什么要做这些,其实我也不知道,就是感觉好玩,我说为了梦想你肯定不信,但是说句实话有一个功能很有用,就是我喜欢看到好看的视频就分享给好友,那么就像下载保存,然后分享给微信好友,而这些应用有的是不支持本地下载,而且及时支持了又加上了水印效果,那么通过酱爆看视频之后,全部都可以支持下载,而且没有水印效果,可以保存本地,然后分享给微信或者发布朋友圈。好了说了这么多了,下面来看看应用的大致效果吧:
今日头条下载器
视频上下滑动可以快速切换视频
主页面直接点击刷新数据
别人等车干着急,我在酱爆看视频
#想你所想,为你所做#
#不负众望,只在酱爆#
严重声明:这个应用开发的目的只有一个就是为了学习新的应用开发技术,如何独立开发一个项目,绝不会利用这个应用进行商业利益获取,如果有人利用这个项目进行商业利益获取带来的所有法律问题都将由操作者自己负责,与本文作者无任何关系!也是由衷的希望各位能够秉着技术学习的态度阅读此文,最后就是关于应用的下载地址和源码问题,这里不会在公众平台中公开,涉及到安全问题,只在小密圈中开放,小密圈是一群人爱好学习的地方,因为涉及到四家视频的流量,开放应用下载地址也是非常危险的。基于这个考虑暂时不开放任何关于此项目的资源!
五、总结
好了到这里就大致介绍完了酱爆视频的整体流程了,可能大家还没有感观认识,如果在操作过程中发现bug或者遇到问题以及想要的功能可以随时联系我,我能给的都将给出资源,方便学习!最后也希望大家多多支持这个应用!
《Android应用安全防护和逆向分析》
更多内容:点击这里
关注微信公众号,最新技术干货实时推送
转载请注明:尼古拉斯.赵四 » 全球首款短视频聚合应用「酱爆视频」开发技术介绍