Flutter 仿网易云音乐App
图
首页
歌曲播放和卡片切换
如正版一样,歌曲播放进度在播放/暂停 按钮的边框显示(页面下方,由黑变红)
没登录的话,一般只能听12秒
目前只做了 模块(‘超带感的说唱精选’)的点播功能,
其他地方可以直接套用(1、2行代码即可),控制台已经写好
卡片(音乐日历)切换动画也是仿照正版来
个人中心和抽屉(未登录)
云村
视频(未登录)
视频模块需要登录才能看到
波纹动画依然是仿照正版的
登录
视频(已登录)
登录前后页面变化
我们看一下,我的、抽屉页面的前后差异
再退出一下
‘切换账号’有退出的功能
搜索页面
文
所用接口
接口为大佬们开源的网易云API,在此感谢
开源网易云api
我花了90多买了个云服务把接口clone下来后,开发使用。
各位clone我项目时,可以用我的接口也可以自己搭一个
一年90多的云服务器,你们用时轻点儿...
Tip:
接口返回的数据不太稳定,有的时候还会变形,对于移动端开发来说,造成了一些麻烦,各位开发时要注意。
另外,如果你运行这个demo发现出错了,那大概率时接口废了或者数据变形了,看日志吧
开发框架 Bedrock
此项目基于Bedrock 快速开发框架开发
MVVM + Provider 设计模式
Bedrock 快速开发框架
初衷
开发这个demo并不是为了对flutter进行练习,而是因为前些日子对flutter路由模块的封装,并应用于Bedrock框架。
在重构了原项目的demo以及添加了针对性演示demo后,觉得有必要再在一个复杂一些的项目里测试一下,因此便有了这个:
仿网易云音乐(基础版)
也算是给我的框架增加了一个绘声绘色的大Demo吧 :)。
与此同时,既然是Demo,在项目开发时尽量做到点到为止,避免开发者阅读过多的冗余的页面代码,而无法了解框架的工作原理。
由于没有设计图,页面全凭感觉来,加之接口的不稳定(类型/结果),开发起来确实费劲...
所以叫基础版
路由封装的简介
此次路由封装,不但减少了开发时的代码书写,并且对外暴露出state,可以做到任何粒度的刷新。
但这并不意味着可以抛弃provider
在兼容静态路由的优势同时,对于静态路由的 map 传值,取而代之的是构造函数传值,这样避免了key的输错。
更多介绍可以看下面的文章:
关于这次flutter路由封装的架构介绍
Demo功能概览
大家可以clone下项目后,挑拣未实现的功能来实现以熟悉框架
登录(注册未实现,没有空号了)
我的页面:登录/非登录状态(不含子级页面)
发现页面: 点歌 (不含子级页面)
云村页面:广场&关注子页(不含其它子级页面)
视频页面:登录/非登录状态,各tab子页面,视频播放(不含其它子级页面)
我的抽屉:登录/非登录状态(不含子级页面)
搜索页面:支持搜索历史本地化、清理缓存,搜索及搜索建议,(不含搜索结果和其它子级页面)
底部音乐bar:后台音乐功能模块,支持单点播放,(未实现底部控制台点击后弹出的播放历史记录和歌单,这个可能后期要做,蛮有意思的)
项目地址
仿网易云音乐
感谢
再次感谢开源网易云音乐api的大佬们。
同时欢迎各位提issue,谢谢
Flutter 仿网易云音乐App相关推荐
- Android 仿网易云音乐App
因为工作实在是有点忙,所以还没完成成品,就先挂到GitHub上.日后慢慢更新啦. 项目地址 GitHub地址,希望大佬们点个star GitHub仿网易云音乐App 效果展示 注:因为视频太模糊,每日 ...
- 【开源项目学习】源码剖析,学习仿网易云音乐app代码
[前言] 这篇文字不全是讲app代码,而是博主怎么根据代码系统学习梳理的过程,非专业,如有不对,欢迎指出 仿网易云音乐app源码地址:https://github.com/aa112901/remus ...
- 仿网易云音乐app tab栏滑动效果
<!DOCTYPE html> <html><head><meta charset="utf-8"><meta name=&q ...
- 新鲜出炉高仿网易云音乐 APP
我的引语 晚上好,我是吴小龙同学,我的公众号「菜鸟翻身」会推荐 GitHub 上好玩的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值,欢迎关注我. 项目中成长是最快的,如何成长,就是解决问题 ...
- flutter 仿网易云音乐(2)
gitee项目地址 github项目地址 如果喜欢请点点star 这里今天说一下项目的播放器选择 查看了一下pub.dev 上主流的播放器插件主要有audioplayers和just_audi ...
- Flutter仿网易云音乐 ---基础准备
源码地址:https://gitee.com/admin_327355/music 资源.工具准备 1.接口:网易云音乐 NodeJS 版 API 2.UI:Android apk通过压缩文件解压后获 ...
- 尚硅谷微信小程序开发 仿网易云音乐App 小程序 后端接口服务器搭建
目录 小程序学习 视频相关的教程文档与笔记分享 配套服务器 源码地址: 接口使用说明文档 接口列表 启动服务 测试服务启动OK网页 http://localhost:3000/test.html编辑 ...
- flutter 仿网易云音乐(3)
继续深入的将一下just_audio和audio_service搭配怎么在也没啥上使用 这里主要是创建了一个全局管理page_manager.dart 首先整理一下需求,我们在页面上需要展示到播放列表 ...
- 小程序能用vue写么_仿网易云音乐APP的微信小程序【小程序和Vue版本】
小程序版本: 首先是网易云的音乐接口: npm 源码获取见文章底部. 目前实现功能 用户 歌单 FM 播放 评论 MV 专辑 歌手 登录 歌曲红心,FM trash,收藏单曲至歌单 收听记录 歌单歌曲 ...
最新文章
- SSL ×××与IPSec ×××特点比较
- System.Timers.Timer与System.Windows.Forms.Timer 区别
- cesium js 路径_Cesium开发学习路径
- Android—ActivityThread与Handler
- MNIST 手写数字识别,我是如何做到886个可训练参数,识别率达到98.2%? (参数、模型压缩), Keras实现,模型优化
- 基本机器学习算法思想以及编程实现
- javascript 页面刷新
- go kegg_对miRNA进行go和kegg等功能数据库数据库注释
- Swift 语言快速入门
- 摩擦力特点用计算机绘制出,AGC液压缸模拟工况摩擦力特性测试方法研究
- 已经发车的票还能取出来吗_火车票报销凭证是啥?能不打印吗?官方回应来了...
- 虚拟 Linux【转】
- Linux 五个最牛视频编辑软件
- Excel:VBA编程入门(一)
- 腾讯WiFi管家 v3.7.3
- 系统测试包含哪几部分?
- github windows系统监控_辅助Windows 自带的微软五笔字型输入法,解决长期存在的7大问题...
- win11如何切换输入法 win11快速切换输入法
- java的发展(8-17新特性整理)
- 关于sqlldr官方教材上的几个例子ulcase study1-9
热门文章
- 北京大学生数学建模与计算机应用,2011年北京市大学生数学建模与计算机应用竞赛获奖名单...
- 安装python包的时候文件夹权限报错:InvalidArchiveError(“Error with archive D:\\anaconda\\pkgs\\cudnn-8.4.1.50-h)
- 【短期】未来学习目标
- Linux 新手必会的21条命令合集
- cesium中限制地图浏览范围
- Flutter时间转换工具类
- 语音与影像上的自督导式学习模型、一些老版本的补充(李宏毅2022
- 信号量优先级反转问题记录(总是遗忘)
- Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must hav
- IDEA官方中文插件!!!