`
bolutes
  • 浏览: 866557 次
文章分类
社区版块
存档分类
最新评论

Android Jamendo开源在线音乐播放器源码分析五 网络连接模块的分析

 
阅读更多

程序中实现网络连接和获取网络数据是通过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对象。

现在对这个代码最大的感觉是,这个代码写的很规范,无论是包结构还是类结构以及代码都非常规范,让人很容易就能了解整个程序的概貌,确实是值得好好学习的一个开源项目。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics