【前言】

这篇文字不全是讲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代码相关推荐

  1. 开源项目【LikeCloudMusic 云音】仿网易云音乐

    LikeCloudMusic 云音 仿网易云音乐v3.7.5,Material Design风格,基于MVP,使用RxBus作为事件总线通信库 效果图 目前功能 扫描本地歌曲 存储歌曲及歌单 后台播放 ...

  2. [附源码]计算机毕业设计JAVA网易云音乐推荐系统

    [附源码]计算机毕业设计JAVA网易云音乐推荐系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Int ...

  3. Android 仿网易云音乐App

    因为工作实在是有点忙,所以还没完成成品,就先挂到GitHub上.日后慢慢更新啦. 项目地址 GitHub地址,希望大佬们点个star GitHub仿网易云音乐App 效果展示 注:因为视频太模糊,每日 ...

  4. 新鲜出炉高仿网易云音乐 APP

    我的引语 晚上好,我是吴小龙同学,我的公众号「菜鸟翻身」会推荐 GitHub 上好玩的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值,欢迎关注我. 项目中成长是最快的,如何成长,就是解决问题 ...

  5. Flutter 仿网易云音乐App

    图 首页 歌曲播放和卡片切换 如正版一样,歌曲播放进度在播放/暂停 按钮的边框显示(页面下方,由黑变红) 没登录的话,一般只能听12秒 目前只做了 模块('超带感的说唱精选')的点播功能, 其他地方可 ...

  6. 仿网易云音乐html代码,仿网易云音乐外链播放器UI的HTML5音乐播放器插件

    简要教程 APlayer是一款仿网易云音乐外链播放器UI的HTML5音乐播放器插件.APlayer音乐播放器可以自定义歌曲封面,可以自定义同步歌词等,界面时尚大方,是一款非常好的HTML5音乐播放器插 ...

  7. 仿网易云音乐app tab栏滑动效果

    <!DOCTYPE html> <html><head><meta charset="utf-8"><meta name=&q ...

  8. [附源码]SSM计算机毕业设计网易云音乐推荐系统JAVA

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  9. 尚硅谷微信小程序开发 仿网易云音乐App 小程序 后端接口服务器搭建

    目录 小程序学习 视频相关的教程文档与笔记分享 配套服务器 源码地址: 接口使用说明文档 接口列表 启动服务 测试服务启动OK网页 http://localhost:3000/test.html​编辑 ...

最新文章

  1. 我还没考试,算法就说我的物理一定挂科
  2. 使用阿里云镜像maven管理配置开发环境
  3. PHP使用Zend Opcache之优化加速和缓存清理总结
  4. ParseObject 的使用简介【简单易懂】
  5. 马尔科夫链和马尔科夫链蒙特卡洛方法
  6. 【渝粤题库】广东开放大学 计算机英语 形成性考核
  7. sql基础教程亚马逊_针对Amazon,Apple,Google的常见SQL面试问题
  8. 切换回Chrome上的上次标签及打开设置快捷键
  9. requests模块介绍
  10. 威纶触摸屏与电脑连接_威纶通触摸屏和西门子PLC通讯不上解决方法
  11. 使用laypage和pageHelper分页
  12. 如何防止恶意点击手机短信验证码
  13. .net core 部署在windows 2008 server 64位上出现Http Error 502.5的解决方案
  14. java 反射机制中的 Filed (属性反射机制)
  15. CloudComparePCL 点云点匹配(基于点到面的距离)
  16. Java计算器编程代码
  17. Sentinel 极简入门
  18. 【转】HTML5斯诺克桌球俱乐部【译】
  19. TYPEC无协议芯片最高可输出5V3A
  20. python积木编程软件下载_积木编程软件-积木编程官方版下载-红软网

热门文章

  1. 3D Deeply Supervised Network for Automatic Liver Segmentation from CT Volumes
  2. 英文,数字和中文混合的彩色验证码实现
  3. ubnutu虚拟机虚拟化引擎无法勾选怎么办呢?
  4. 关于EXCEL中公式复制后不自动计算的问题!
  5. oracle exp 无效dblink,【案例】Oracle dblink 数据库连接dblink insert插入数据时异常分析...
  6. 嗯~ o(* ̄▽ ̄*)o
  7. 企业定制CRM系统的流程
  8. cad文件管理服务器,通用CAD图纸文件管理安全软件(SafeShare)
  9. 实验1-求二元一次方程的解
  10. 最右技术问答的一点个人见解