本地音乐的获取及显示
在第四篇博客中已经将基本的布局完成了,现在已经有一个MainActivity和一个MainFragment组成的主界面,还有一个用于显示本地音乐列表的MyMusicFragment,并且能实现两个Fragment的切换,以及与Activity的相互通信.
在这一篇中小达将介绍怎么将本地音乐的相关信息取出来,放在一个ListView显示出来.那么就先要考虑,取出来的歌曲以一个什么样的布局形式显示出来,这里我用了另外一个布局文件来自定义显示的方式,布局music_list_item_layout.xml代码如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
android:orientation="vertical" >
<ImageView
android:id="@+id/album_image"
android:layout_width="64.0dip"
android:layout_height="64.0dip"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerInParent="true" />
<TextView
android:id="@+id/music_duration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginRight="5.0dp"
android:layout_marginEnd="5.0dp"
android:textColor="#FFADABFF"
/>
<TextView
android:id="@+id/music_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="5dp"
android:layout_marginStart="5.0dp"
android:layout_toRightOf="@+id/album_image"
android:layout_toEndOf="@+id/album_image"
android:focusable="true"
android:textColor="#FFADABFF"
android:textSize="18sp"
/>
<TextView
android:id="@+id/music_Artist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/music_title"
android:layout_alignStart="@+id/music_title"
android:layout_marginTop="5.0dip"
android:layout_below="@id/music_title"
android:textColor="#FFADABFF"
/>
<ImageButton
android:id="@+id/list_down_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/list_narrow_down"
android:layout_below="@id/music_duration"
android:layout_alignParentRight="true"
/>
</RelativeLayout>
</RelativeLayout>

本文详述了如何在Android应用中获取本地音乐并显示在ListView中。首先介绍了自定义布局`music_list_item_layout.xml`,包含歌曲名、歌手、时长和封面。接着,阐述了添加访问音乐库权限的过程,并创建`Mp3Info`类来存储歌曲信息。通过`MusicListAdapter`继承`BaseAdapter`将数据绑定到视图。使用`ContentResolver`查询音乐信息,通过`Cursor`解析获取的数据。最后,在`MyMusicFragment`中实现了展示音乐列表的功能。后续章节将涉及音乐播放的Service实现。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



