Jamendo是一个开源的在线音乐播放器,自己学习下这个源代码的结构和实现,在这里记录下学习过程,同时也跟大家分享下。自己也是初学者多以在此以初学者的方式记录,会比较的详细的分析整个源码(大牛们看起来可能就显得比较啰嗦了...)
后面的文章会从程序的入口开始分析,以activity作为主线来进行分析。
PS:由于小白我是在Ubuntu下学习的,不是太习惯,大家将就着看看吧~~~
下面先看下jamendo目录结构:下面分别是整个项目的结构图,java代码的结构图,和资源文件的结构图。
**************************************************************************SplashscreenActivity*******************************************************
下面开始从一入口activity开始介绍,对于一个Android项目我们可以从AndroidManifest.xml清单文件中找到程序的入口。下面代码就是该程序的入口Activity:
1 <activity android:name=".activity.SplashscreenActivity"> 2 <intent-filter> 3 <action android:name="android.intent.action.MAIN"></action>//决定应用程序最先启动的 4 <category android:name="android.intent.category.LAUNCHER"></category>//决定应用程序是否显示在程序列表里 5 </intent-filter> 6 </activity>
从上面代码找到入口文件为SplashscreenActivity.java 首先看下该activity的运行图。
SplashscreenActivity源代码:
1 /** 2 * 3 */ 4 package com.teleca.jamendo.activity; 5 6 import android.app.Activity; 7 import android.content.DialogInterface; 8 import android.content.SharedPreferences; 9 import android.os.Bundle; 10 import android.os.Handler; 11 import android.preference.PreferenceManager; 12 import android.view.Window; 13 import android.view.animation.Animation; 14 import android.view.animation.Animation.AnimationListener; 15 import android.view.animation.AnimationUtils; 16 import android.widget.CheckBox; 17 18 import com.teleca.jamendo.R; 19 import com.teleca.jam