【开源项目学习】源码剖析,学习仿网易云音乐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.widgets27窗口小部件 
app.src.main.java.com.wm.remusic.fragment25片段页https://www.cnblogs.com/cr330326/p/5712022.html
app.src.main.java.com.wm.remusic.activity23功能页https://www.cnblogs.com/jycboy/p/6367282.html
app.src.main.java.com.wm.remusic.json21数据 
app.src.main.java.com.wm.remusic.widget19窗口小部件 
app.src.main.java.com.wm.remusic.uitl17工具 
app.src.main.java.com.wm.remusic.fragmentnet15片段页 
app.src.main.java.com.wm.remusic.net15网络 
app.src.main.java.com.wm.remusic.lastfmapi.models11  
app.src.main.java.com.bilibili.magicasakura.utils9工具 
app.src.main.java.com.wm.remusic.adapter9适配层 
app.src.main.java.com.wm.remusic.provider7小功能集感觉作者把不知道放哪的就放在这里了
app.src.main.java.com.wm.remusic.proxy.utils7工具 
app.src.main.java.com.wm.remusic.downmusic6下载功能 
app.src.main.java.com.wm.remusic.recent6历史 
app.src.main.java.com.wm.remusic.uitl.Comparator5工具 
app.src.main.java.com.wm.remusic.info5结构类音乐\相册\艺术家等
app.src.main.java.com.wm.remusic.permissions4权限控制 
app.src.main.java.com.wm.remusic.dialog4会话框 
app.src.main.java.com.wm.remusic.lrc4歌词 
app.src.main.java.com.wm.remusic.lastfmapi3  
app.src.main.java.com.wm.remusic.service3主服务 
app.src.main.java.com.wm.remusic.receiver2  
app.src.main.java.com.wm.remusic.lastfmapi.callbacks2  
app.src.main.java.com.wm.remusic.handler2  
app.src.main.java.com.bilibili.magicasakura.drawables1  
app.src.main.java.com.wm.remusic.proxy1  
app.src.main.java.com.wm.remusic1主程序https://www.jianshu.com/p/f665366b2a47
app.src.main.java.com.wm.remusic.proxy.db1本地数据sqlite 

 


PS:这个代码偏C风格。使用了匈牙利命名法

先看看提供了哪些Activity

嗯。播放列表、相册列表、主界面、艺术家详情、加载页面,虽然很多细节不懂,但应该是聚合了功能和页面布局,以RadioDetailActivity

Fragment,Fragment和Activity的区别和联系可以参考:https://www.cnblogs.com/cold-ice/p/6054359.html

接下来以音乐播放为例,画出请求的流程

 

最后放一张android的交互图(来源自Internet):

 

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值