新手向!开源播放器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个好得多!

且看下回合的详细分析。

0 0
原创粉丝点击