程序中实现网络连接和获取网络数据是通过JamendoGet2Api这个接口中的方法实现的,他的实现类是JamendoGet2ApiImpl.这里就从getPopularAlbumsWeek()这个获取本周最受欢迎的专辑为例分析如何实现的,其实这个返回的数据就是在HomeActivity中最上面显示的Gallery中的数据。
这个图还真是不会画,索性就将用到的相关类都列出来。
首先通过doGet方法根据指定的url通过HTTP协议获取网络数据
根据返回的字符串数据创建JSONArray对象,然后根据AlbumFunctions的静态函数getAlbums将封装在JSONArray中字符串数据转换为Album对象,然后放在数组中返回
albums[i] = albumBuilder.build(jsonArrayAlbums.getJSONObject(i));这里又使用到了封装Album对象的AlbumBuilder类
将JSONObject封装成Album对象
备注一:
以上只是对getPopularAlbumsWeek()这个函数的分析,但是具有通用性,其他的函数也都是这样实现的,首先通过HTTP根据url获取网络数据将流数据转换成字符串数据,然后通过JSON进行封装,然后通过相应的构造类如上面的AlbumBuilder将JSONArray中的JSONObject封装成相应的Album对象。
现在对这个代码最大的感觉是,这个代码写的很规范,无论是包结构还是类结构以及代码都非常规范,让人很容易就能了解整个程序的概貌,确实是值得好好学习的一个开源项目。
分享到:
相关推荐
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