【开源项目学习】源码剖析,学习仿网易云音乐app代码

版权声明:尊重博主原创文章,转载请注明出处 https://blog.csdn.net/weixin_39020940/article/details/82254836

【前言】

这篇文字不全是讲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

猜你喜欢

转载自blog.csdn.net/weixin_39020940/article/details/82254836