新手向!开源播放器JamsMusicPlayer源码解析
来源:互联网 发布:mac装双系统的利弊 编辑:程序博客网 时间:2024/06/05 09:15
博主最近纠结了一段时间是考研还是出去工作。。博客也懈怠了。很惭愧,我觉得自己大学三年之内成事太少,这跟我内向的性格有关,也是自身能力的问题。所以投了几份简历之后真切地感觉到了自己依然太弱太弱。。
还好有同学信任。所以接手了一个音乐播放器的制作,基本思路是:
【检测人的运动情况,运动越激烈,音乐越劲爆。】
私自以为这样的思路不见得有多好。因为这种东西的应用场景首先就只能限制在运动上面。更何况,能检测到激烈程度的运动实在太少,我所想到的只有跑步。至于篮球游泳什么的,手机上场完全是去送人头。
但机会倒是不错,对面两人都是靠谱的公设同学。借此也可以激励、锻炼一下自己!
在github上寻找源码。【其实我也是第一次正式在这个网站上找东西,进入了之后方懂得它的美好,英文水平低其实也无所谓,毕竟几个术语查查还是很好动的】
找到的第一款是android-UniversalMusicPlayer。但是后来发现这款软件居然是面对api21也就是android 5.0以上版本的。。也真是愧对了Universal的名字。
第二款找到的是JamsMusicPlayer。它在这里
但是导入工程的时候遇到了些小麻烦,关于Gradle的版本问题。这里不得不跑一下题,就是Android Studio中的Gradle,我的理解是将工程中的依赖、版本都集中起来。
跑的时候遇到了层出不穷的问题。后来偶然看到了解决办法。
大体是说,gradle的版本升级之后,一些属性已经废弃不用了。所以要对其gradle脚本进行一定的修改。
工程构建完成后,出现的是这样。
这其中看起来除了主要应用JamsMusicPlayer之外还有很多个包(?不知道这里的概念应该怎么称呼)大致都是其应用的依赖。不得不说Gradle本身只要配置正确,这还真的是很方便的~
搜索一下这几个包。在github上都可以找得到。
circularImageView------This is an Android project allowing to realize a circular ImageView in the simplest way possible.dragsortlistviewlibrary------主要是一些listview的相关操作LicensesDialoglibrary--------LicensesDialog is an open source library to display licenses of third-party libraries in an Android app.picasso--------(这个牛逼,在github上有5000多的star。。看起来应用非常多)A powerful image downloading and caching library for Android http://square.github.io/picasso/quickScroll-------(类似于通讯录中的滚动条)QuickScroll is a library aimed at creating similar scrolling experiences to the native Contacts apps People view.VelocityViewPager------(一个ViewPager变种)Custom Android ViewPager with support for flinging/velocity based scrolling.ViewPagerIndicator-------(这个也有5000多的star)Paging indicator widgets that are compatible with the ViewPager from the Android Support Library to improve discoverability of content.Try out the sample application on the Android Market.http://viewpagerindicator.com/
在这里不得不再感叹一下github真的是程序员智慧的结晶之地!各种各样的软件,只需要一个简单的download zip就可以轻松取用。实在是太美妙了!
预备工作做得差不多了,接下来就是分析我们的主要应用———JamsMusicPlayer了。看一下里面的包,顿时瞎尿。一共有36个包。每个包中少则1个,多则10多个的Java文件。
深吸一口气。。。单一职责原则告诉我们,也许分类并不是一件坏事。100个java文件很有可能要比20个好得多!
且看下回合的详细分析。
- 新手向!开源播放器JamsMusicPlayer源码解析
- 新手向!开源音乐播放器JamsMusicPlayer源码解析<1>
- android源码解析------Music 音乐播放器
- 音乐播放器之源码解析一
- 音乐播放器之源码解析二
- 音乐播放器之源码解析三
- 音乐播放器之源码解析四
- 音乐播放器之源码解析五
- 音乐播放器之源码解析六
- 本地音乐播放器项目思路解析和源码展示,如果你是新手或已入门那么请点我,你会吸收到不少加速剂
- OSMF开源播放器源码解读
- 开源播放器ijkplayer源码结构
- android多媒体播放源码解析
- Android多媒体播放器源码解析(stagefright框架)
- 解析DirectShow SDK提供的播放器例子源码PlayWnd
- 解析DirectShow SDK提供的播放器例子源码PlayWnd
- Android多媒体播放器源码解析(stagefright框架)
- Android多媒体播放器源码解析(stagefright框架)
- HDU 1847 Good Luck in CET-4 Everybody! 简单博弈
- LeetCode(9)Palindrome Number
- 单例的3种写法
- c++ 覆盖、重载、隐藏
- 对象的内存图
- 新手向!开源播放器JamsMusicPlayer源码解析
- PHP中处理浮点数的一些方法记录
- <Head First 设计模式>:模板方法模式:Beverage
- 我的第一篇博客
- IplImage中的widthStep大小计算及原理
- 黑马程序员_Java基础_多线程
- UIWebView的三种加载方式
- Java读书笔记01 编译和运行Java程序
- 霍纳规则(C/C++,Scheme)