Android ListView 和 Adapter 从本地/网络获取歌曲列表

时间:2014-07-06 23:03:05   收藏:0   阅读:738

本文内容

本文只给出演示概要,代码太多,贴出来意义不大,自己下载调试一下,点击此处下载。

本文通过四个示例,循序渐进地演示,将歌曲列表加载到 ListView 控件,歌曲列表,包括缩略图、歌手名、歌曲名等信息,或存放在本地,或以 JSON 形式存放在网络。

环境


为何真机版本如此低~唉,最近同事手机坏了,刚买了房子,银行卡就剩1000块,没钱了,把我 Android 4.1 的手机借跑了~

 

项目结构


bubuko.com,布布扣

图 1 项目结构-Java 包

图 1 是该演示的相关 Java 包:

bubuko.com,布布扣

图 2 项目结构-资源和页面

bubuko.com,布布扣

图 3 程序主

演示1:SimpleAdapter


该演示直接利用 android.widget.SimpleAdapter,把歌曲列表(包括缩略图、歌手名字、歌曲名称)添加到 ListView 控件。

 

演示2:BaseAdapter


该演示利用一个更底层、功能更强大的 android.widget.BaseAdapter 类,重写相应的方法,尤其是 public View getView(int position, View convertView, ViewGroup parent) 方法,把歌曲列表添加到 ListView 控件。

 

演示 1 和演示 2,加载歌曲列表(包括缩略图、歌手名字、歌曲名称)都在本地。下面两个演示,缩略图都是通过网络获取的,演示 3 的歌曲列表信息存放在本地,通过连接获得并缓存图片,显示在 ListView 控件,而演示 4 是通过网络获得歌曲列表的 JSON,这种方式更普遍,在客户端解析 org.json.JSONArray,获得图片并缓存,显示在 ListView 控件。

另外,歌曲列表的地址是 http://files.cnblogs.com/liuning8023/Android_Music_Demo_json_array.xml,虽然是 XML 文件,但内部是 JSON 格式,这对程序不会造成任何影响,cnblog 不让上传 .JSON 文件。

总之,演示 1、2 与演示 3、4 相比,只是获得歌曲列表的途径不同,运行结果几乎一样。这四个演示是循序渐进的,也是本人的研究和思考的过程。

bubuko.com,布布扣

图 4 下面四个演示的结果

第一个:simpleadapter 演示;第二个:baseadapter 演示;第三个:customlazylist 演示;第四个:customcompletelazylist 演示

演示3:customlazylist


该演示的歌曲列表保存在本地,通过网络获得缩略图。缩略图可以缓存在外存和内存中。

 

演示4:customcompletelazylist


该演示的歌曲列表保存在网络,通过网络获得歌曲列表的 JSON 文件,解析成 org.json.JSONArray,利用缩略图链接获得缩略图,并缓存在外存和内存中,显示在 ListView 控件。

 

别忘了,在 AndriodManifest.xml 添加允许 android 访问网络和外存的小节。

 

下载 Demo

Android ListView 和 Adapter 从本地/网络获取歌曲列表,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!