【开源项目学习】源码剖析,学习仿网易云音乐app代码
【前言】
这篇文字不全是讲app代码,而是博主怎么根据代码系统学习梳理的过程,非专业,如有不对,欢迎指出
仿网易云音乐app源码地址:https://github.com/aa112901/remusic
代码分析过程用的代码地图工具参考链接:
https://blog.csdn.net/weixin_39020940/article/details/80633835
【基础知识】
APP的UI鉴赏:
首先是基础,我们要知道android的代码工程结构
其次是看一下产品的代码结构(使用StarTool导出分析)
基于这个代码地图我们可以先做一些基本的总结(在Sub Sys选择数据透视图导出):
Sub Sys | 汇总 | 功能 | 介绍 |
app.src.main.java.com.bilibili.magicasakura.widgets | 27 | 窗口小部件 | |
app.src.main.java.com.wm.remusic.fragment | 25 | 片段页 | https://www.cnblogs.com/cr330326/p/5712022.html |
app.src.main.java.com.wm.remusic.activity | 23 | 功能页 | https://www.cnblogs.com/jycboy/p/6367282.html |
app.src.main.java.com.wm.remusic.json | 21 | 数据 | |
app.src.main.java.com.wm.remusic.widget | 19 | 窗口小部件 | |
app.src.main.java.com.wm.remusic.uitl | 17 | 工具 | |
app.src.main.java.com.wm.remusic.fragmentnet | 15 | 片段页 | |
app.src.main.java.com.wm.remusic.net | 15 | 网络 | |
app.src.main.java.com.wm.remusic.lastfmapi.models | 11 | ||
app.src.main.java.com.bilibili.magicasakura.utils | 9 | 工具 | |
app.src.main.java.com.wm.remusic.adapter | 9 | 适配层 | |
app.src.main.java.com.wm.remusic.provider | 7 | 小功能集 | 感觉作者把不知道放哪的就放在这里了 |
app.src.main.java.com.wm.remusic.proxy.utils | 7 | 工具 | |
app.src.main.java.com.wm.remusic.downmusic | 6 | 下载功能 | |
app.src.main.java.com.wm.remusic.recent | 6 | 历史 | |
app.src.main.java.com.wm.remusic.uitl.Comparator | 5 | 工具 | |
app.src.main.java.com.wm.remusic.info | 5 | 结构类 | 音乐\相册\艺术家等 |
app.src.main.java.com.wm.remusic.permissions | 4 | 权限控制 | |
app.src.main.java.com.wm.remusic.dialog | 4 | 会话框 | |
app.src.main.java.com.wm.remusic.lrc | 4 | 歌词 | |
app.src.main.java.com.wm.remusic.lastfmapi | 3 | ||
app.src.main.java.com.wm.remusic.service | 3 | 主服务 | |
app.src.main.java.com.wm.remusic.receiver | 2 | ||
app.src.main.java.com.wm.remusic.lastfmapi.callbacks | 2 | ||
app.src.main.java.com.wm.remusic.handler | 2 | ||
app.src.main.java.com.bilibili.magicasakura.drawables | 1 | ||
app.src.main.java.com.wm.remusic.proxy | 1 | ||
app.src.main.java.com.wm.remusic | 1 | 主程序 | https://www.jianshu.com/p/f665366b2a47 |
app.src.main.java.com.wm.remusic.proxy.db | 1 | 本地数据sqlite |
PS:这个代码偏C风格。使用了匈牙利命名法
先看看提供了哪些Activity
嗯。播放列表、相册列表、主界面、艺术家详情、加载页面,虽然很多细节不懂,但应该是聚合了功能和页面布局,以RadioDetailActivity
Fragment,Fragment和Activity的区别和联系可以参考:https://www.cnblogs.com/cold-ice/p/6054359.html
接下来以音乐播放为例,画出请求的流程
最后放一张android的交互图(来源自Internet):
【开源项目学习】源码剖析,学习仿网易云音乐app代码相关推荐
- 开源项目【LikeCloudMusic 云音】仿网易云音乐
LikeCloudMusic 云音 仿网易云音乐v3.7.5,Material Design风格,基于MVP,使用RxBus作为事件总线通信库 效果图 目前功能 扫描本地歌曲 存储歌曲及歌单 后台播放 ...
- [附源码]计算机毕业设计JAVA网易云音乐推荐系统
[附源码]计算机毕业设计JAVA网易云音乐推荐系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Int ...
- Android 仿网易云音乐App
因为工作实在是有点忙,所以还没完成成品,就先挂到GitHub上.日后慢慢更新啦. 项目地址 GitHub地址,希望大佬们点个star GitHub仿网易云音乐App 效果展示 注:因为视频太模糊,每日 ...
- 新鲜出炉高仿网易云音乐 APP
我的引语 晚上好,我是吴小龙同学,我的公众号「菜鸟翻身」会推荐 GitHub 上好玩的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值,欢迎关注我. 项目中成长是最快的,如何成长,就是解决问题 ...
- Flutter 仿网易云音乐App
图 首页 歌曲播放和卡片切换 如正版一样,歌曲播放进度在播放/暂停 按钮的边框显示(页面下方,由黑变红) 没登录的话,一般只能听12秒 目前只做了 模块('超带感的说唱精选')的点播功能, 其他地方可 ...
- 仿网易云音乐html代码,仿网易云音乐外链播放器UI的HTML5音乐播放器插件
简要教程 APlayer是一款仿网易云音乐外链播放器UI的HTML5音乐播放器插件.APlayer音乐播放器可以自定义歌曲封面,可以自定义同步歌词等,界面时尚大方,是一款非常好的HTML5音乐播放器插 ...
- 仿网易云音乐app tab栏滑动效果
<!DOCTYPE html> <html><head><meta charset="utf-8"><meta name=&q ...
- [附源码]SSM计算机毕业设计网易云音乐推荐系统JAVA
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- 尚硅谷微信小程序开发 仿网易云音乐App 小程序 后端接口服务器搭建
目录 小程序学习 视频相关的教程文档与笔记分享 配套服务器 源码地址: 接口使用说明文档 接口列表 启动服务 测试服务启动OK网页 http://localhost:3000/test.html编辑 ...
最新文章
- 我还没考试,算法就说我的物理一定挂科
- 使用阿里云镜像maven管理配置开发环境
- PHP使用Zend Opcache之优化加速和缓存清理总结
- ParseObject 的使用简介【简单易懂】
- 马尔科夫链和马尔科夫链蒙特卡洛方法
- 【渝粤题库】广东开放大学 计算机英语 形成性考核
- sql基础教程亚马逊_针对Amazon,Apple,Google的常见SQL面试问题
- 切换回Chrome上的上次标签及打开设置快捷键
- requests模块介绍
- 威纶触摸屏与电脑连接_威纶通触摸屏和西门子PLC通讯不上解决方法
- 使用laypage和pageHelper分页
- 如何防止恶意点击手机短信验证码
- .net core 部署在windows 2008 server 64位上出现Http Error 502.5的解决方案
- java 反射机制中的 Filed (属性反射机制)
- CloudComparePCL 点云点匹配(基于点到面的距离)
- Java计算器编程代码
- Sentinel 极简入门
- 【转】HTML5斯诺克桌球俱乐部【译】
- TYPEC无协议芯片最高可输出5V3A
- python积木编程软件下载_积木编程软件-积木编程官方版下载-红软网
热门文章
- 3D Deeply Supervised Network for Automatic Liver Segmentation from CT Volumes
- 英文,数字和中文混合的彩色验证码实现
- ubnutu虚拟机虚拟化引擎无法勾选怎么办呢?
- 关于EXCEL中公式复制后不自动计算的问题!
- oracle exp 无效dblink,【案例】Oracle dblink 数据库连接dblink insert插入数据时异常分析...
- 嗯~ o(* ̄▽ ̄*)o
- 企业定制CRM系统的流程
- cad文件管理服务器,通用CAD图纸文件管理安全软件(SafeShare)
- 实验1-求二元一次方程的解
- 最右技术问答的一点个人见解