HomeActivity的界面如下:
整个界面大体可以分为两个部分:上面的ViewFlipper和下面的ListView
备注一:ViewFlipper
界面的最上面的mViewFlipper中包含了mGallery、mProgressBar、mFailureBar,刚开始以为最上面部分的显示是通过不同状态下设置View的visibility的VISIBLE,
INVISIBLE, or GONE.来显示的,看完代码之后才知道是用的ViewFlipper这个空间实现的,代码显得更加清楚。
在onCreate()里面启动一个AsyncTask来加载,根据不同的结果决定显示ViewFlipper的哪部分内容
在这个AsyncTask中进行专辑的加载,在加载时onPreExecute()中mViewFlipper.setDisplayedChild(0);也就是上面xml代码中的(0) Loading部分,然后在doInBackground()中进行专辑的加载,当加载完之后onPostExecute(Album[] albums),然后根据加载专辑是否成功,选择相应的界面,是显示加载成功之后的(1) Gallery还是加载失败之后的(2) Failure。其实这里关键是这个空间ViewFlipper,在API中的解释是:
android.widget.ViewFlipper
Simple ViewAnimator
that will animate between two or more views that have been added to it. Only one child is shown at a time. If requested, can automatically flip between each child at a regular interval.
备注二:ListView包含多个Adapter
这个mHomeListView的adapter里面包含mBrowseJamendoPurpleAdapter、mMyLibraryPurpleAdapter了这两个adapter。程序中在onResume()里面调用fillHomeListView()进行listview数据的初始化。
这里将网络数据的adapter:mBrowseJamendoPurpleAdapter和本地数据的adapter:mMyLibraryPurpleAdapter通过SeparatedListAdapter这个继承自BaseAdapter的类将这个两部分的adapter数据统一了起来,在外界调用者看来就只有一个SeparatedListAdapter,看着SeparatedListAdapter如何将两个adapter合二为一并分别给他们添加header的在后面在专门进行分析。
备注三:
在listview的item点击后都会跳到不同的activity中去,唯独只有Most listened这个显示收听的前一百名歌曲的这个item是首先在HomeActivity这个界面成功加载完数据然后才跳到相应的activity的。从用户的角度来说不能跳到了显示前一百名歌曲的Activity然后显示加载的ProgressBar然后加载成功还好要是加载不成功,那么要么返回HomeActivity要么在显示歌曲的界面显示无法获取,而这里是在HomeActivity就加载完了成功就跳转,不成功那么给提示还在HomeActivity这个界面。
这个Top100Task不是通过像之前那样集成AsyncTask来实现的,而是通过集成一个可以被复用的类来实现的private class Top100Task extends LoadingDialog<Void, Playlist>{}
分享到:
相关推荐
Jamendo在线音乐播放器是一款android平台在开源的在线音乐播放,该播放器的主要特色如下: 1. 界面美观,在jamendo播放器中精美的布局的随处可见,大量使用自定义控件和Adapter进行布局,这点可供初学者好好探讨...
jamendo_一款android开源的在线音乐播放器源代码
Android应用源码之jamendo-开源在线音乐.zip项目安卓应用源码下载Android应用源码之jamendo-开源在线音乐.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
telecapoland-jamendo-android-6cd07fb(国外开源音乐播放器)安卓源码.7z
安卓Android源码——jamendo-开源在线音乐.zip
Android应用源码之jamendo-开源在线音乐_jamendo
jamendo-开源在线音乐,这是一款来自国外的Android 原生音乐播放APP软件,支持专辑加载,支持各种音乐的播放控制,界面简洁实用,它的价值的是代码的参考性比较大,这个播放软件还可下载音乐,运行视图如截图所示,...
jamendo-开源在线音乐
著名的开源音乐播放器jamendo。 写的比较好,有兴趣的同学可以参考一下。
jamendo-开源在线音乐.zip
源码参考,欢迎下载
Android源码——telecapoland-jamendo-android-6cd07fb(国外开源音乐播放器).zip
安卓Android源码——telecapoland-jamendo-android-6cd07fb(国外开源音乐播放器).zip
安卓Android源码——telecapoland-jamendo-android-6cd07fb(国外开源音乐播放器).rar
安卓Android源码——telecapoland-jamendo-android-6cd07fb(国外开源音乐播放器).7z