1.思路介绍
step1:构造项目和包
新建一个project会自己创一个MainActivity,然后创3个包分别是adapter(适配器)、entity(实体)、fragment(碎片; 片段)。
step2:进行layout(界面)布局。
使用ListView布局
step3:在entity包中创建公共类
在entity中创一个Music(java class中创建),并定义5个公共类title、artist、album、length、albump。
step4:在adapter包中创建适配器
先创一个MusicAdapter(java class中创建),开始写适配器内容。
step5:在fragment包中创2个fragment(在与Activity一起的Fragment创建,切记)
创2个fragment,一个叫LocalFragment,另一个叫OnlineFragment。其中在LocalFragment中进行绑定适配器并填充数据。
step6:在MainActivity中添加监听并绑定LocalFragment的适配器,并进行读取数据。
当然构造音乐播放器并实现获取本地音乐,并不是这么简单。其中还要对Activity中的layout进行布局,主要是MainActivity、LocalFragment、OnlineFragment的布局。还有获取本地音乐的权限问题,以及如何插入本地音乐和如何使用游标,这些都是需要思考的。
2代码演示
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.ssq.wanyiyu.fragment.LocalFragment">
<!-- TODO: Update blank fragment layout -->
<ListView
android:id="@+id/local_listview"
android:layout_width="match_parent"
android:layout_height="match_parent"></ListView>
</FrameLayout>
其中ListView是在LocalFragment进行布局的,这样就可以用MainActivity进行绑定,最好不在别处进行布局。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.ssq.wanyiyu.fragment.OnlieFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Online"
android:textSize="30sp" />
</FrameLayout>
注意这个ListView是在OnlineFragment中的layout写的,主要的目的是让Activity能够左右滑动。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:id="@+id/main_local_tv"
android:textSize="20sp"
android:gravity="center&#