影视app的开发

发布于 2021-01-10  232 次阅读


写在前面

发现身边的朋友,都比较喜欢看电影然后就想着我这个爱好能做些什么就诞生出了云Tv

前端

主页面直接放搜索框,看什么搜索什么底部,底部直接list列表加适配器展现出来,内部有影视名称,搜索类型全网or尝鲜,搜索年份
影视选集布局,选集界面
播放界面,用的web浏览器,内置bilibili播放器可以发送弹幕
就这么多

适配器

GridViewListView 发现这些控件里面有滑动组件导致控件不能随整个布局滑动,这里感谢StarVase提供的noscroll.dex然后就能随着布局整个滑动了,因为用的是applua开发需要将dex放在工程的libs目录下并将dex转为jar然后在工程里面导入即可,可以打开jar包看下具体的导入路径,然后GridView和ListView的更改为NoScrollGridView和NoScrollListView具体看你用那个

后端

采集的是苹果cms的站,这里找了许多站,不是没有开放api就是资源太少,我最后选择了没有开放api的站但是资源多,直接get搜索页面源码直接爬

搜索类型

我发现该站的搜索类型有两种一种全网一种尝鲜,全网就是用的解析接口解析腾讯,优酷,爱奇艺等的页面链接,尝鲜直接就是m3u8格式的链接

类型的麻烦

两种类型的页面导致里面的选集不同写一个gmatch方法会导致其中一个类型不能显示选集列表,我写了一个判断,接收主页面传过来的类型参数对变量进行赋值,1就是全网,2就是尝鲜,在爬取的时候进行判断,不同类型gmatch方法不同

播放页面

因为是两种类型,传过过来的链接也不同,一种是解析接口加平台页面链接,一种是m3u8的链接,直接判断m3u8直接播放,平台页面链接不能直接播放,用其他的解析接口再次解析get方法提取出m3u8链接在播放

小问题

多个参数传到另一个页面

cs=“参数”
cs2=“参数”
activity.newActivity("Introduce",{cs,cs2})--跳转页面
--另一个页面接收参数
cs,cs2=...

以上为1.0版本

1.1版本

新增设置界面,可以设置两种播放器
一种为web仿bilibili的播放器()
另一种是软件内置的播放器
以及全网视频解析接口的更改
修复已知bug

1.2版本

增加全网解析源
用户体验优化
弹窗优化

1.3版本

修复首次播放的bug
部分逻辑优化