Fragment基本讲义及本地音乐播放器

1)布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


    <LinearLayout
        android:id="@+id/pictruesID"
        android:layout_width="match_parent"
        android:layout_height="108dp"
        android:background="#ffafafaf"
        android:orientation="horizontal" >
    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >


        <LinearLayout
            android:id="@+id/localMusicID"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center_horizontal"
            android:orientation="vertical"
            android:paddingBottom="5dp"
            android:paddingTop="5dp"
            android:onClick="clickLocal" >


            <ImageView
                android:layout_width="36dp"
                android:layout_height="36dp"
                android:background="@drawable/music" />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:text="本地音乐"
                android:textColor="#ff0000ff" />
        </LinearLayout>


        <LinearLayout
            android:id="@+id/localTest01ID"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center_horizontal"
            android:orientation="vertical"
            android:paddingBottom="5dp"
            android:paddingTop="5dp"
            android:onClick="clickLocal" >


            <ImageView
                android:layout_width="36dp"
                android:layout_height="36dp"
                android:background="#ffafafaf" />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:text="静请期待"
                android:textColor="#ff0000ff" />
        </LinearLayout>


        <LinearLayout
            android:id="@+id/localTest02ID"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center_horizontal"
            android:orientation="vertical"
            android:paddingBottom="5dp"
            android:paddingTop="5dp"
            android:onClick="clickLocal" >


            <ImageView
                android:layout_width="36dp"
                android:layout_height="36dp"
                android:background="#ffafafaf" />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:text="静请期待"
                android:textColor="#ff0000ff" />
        </LinearLayout>


        <LinearLayout
            android:id="@+id/localTest03ID"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center_horizontal"
            android:orientation="vertical"
            android:paddingBottom="5dp"
            android:paddingTop="5dp"
            android:onClick="clickLocal" >


            <ImageView
                android:layout_width="36dp"
                android:layout_height="36dp"
                android:background="#ffafafaf" />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:text="静请期待"
                android:textColor="#ff0000ff" />
        </LinearLayout>
    </LinearLayout>

2)写一个类,继承Fragment

public class FragmentDynamic extends Fragment implements OnClickListener{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.activity_fragment_dynamic, null);
LinearLayout music = (LinearLayout) v.findViewById(R.id.localMusicID);
LinearLayout test01 = (LinearLayout) v.findViewById(R.id.localTest01ID);
LinearLayout test02 = (LinearLayout) v.findViewById(R.id.localTest02ID);
LinearLayout test03 = (LinearLayout) v.findViewById(R.id.localTest03ID);
music.setOnClickListener(this);
return v;
}
public void clickLocal(View v){
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.localMusicID:
startActivity(new Intent(getActivity(),LocalMusicActivity.class));
getActivity().finish();
break;
case R.id.localTest01ID:
break;
case R.id.localTest02ID:
break;
case R.id.localTest03ID:
break;
}
}
}

3)主界面布局

<RelativeLayout 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"
    android:orientation="vertical"
    tools:context=".MainActivity" >


    <FrameLayout 
        android:id="@+id/frameInformationID"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_above="@+id/mainBottomBarID"
        android:background="#ffafafaf"
        ></FrameLayout>
    
<!-- android:visibility="visible" -->
    <LinearLayout
        android:id="@+id/mainBottomBarID"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:baselineAligned="false"
        android:paddingTop="5dp"
        android:paddingBottom="5dp"
        android:background="@drawable/title_bar"
        android:orientation="horizontal"
        >
        <LinearLayout 
            android:id="@+id/mainBottomBar01ID"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:orientation="vertical"
            android:onClick="click">
            <ImageButton 
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:background="@drawable/message"/>
            <TextView 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="消息"
                android:textSize="12sp"
                android:textColor="#ffffffff"/>
        </LinearLayout>
        <LinearLayout 
            android:id="@+id/mainBottomBar02ID"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:orientation="vertical"
            android:onClick="click">
            <ImageButton 
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:background="@drawable/content"/>
            <TextView 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="通讯录"
                android:textSize="12sp"
                android:textColor="#ffffffff"/>
        </LinearLayout>
        <LinearLayout 
            android:id="@+id/mainBottomBar03ID"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:orientation="vertical"
            android:onClick="click">
            <ImageButton 
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:background="@drawable/dynamic"/>
            <TextView 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="动态"
                android:textSize="12sp"
                android:textColor="#ffffffff"/>
        </LinearLayout>
        <LinearLayout 
            android:id="@+id/mainBottomBar04ID"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:orientation="vertical"
            android:onClick="click">
            <ImageButton 
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:background="@drawable/myself"/>
            <TextView 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="我"
                android:textSize="12sp"
                android:textColor="#ffffffff"/>
        </LinearLayout>
    </LinearLayout>


</RelativeLayout>

4)主界面Activity

public class MainActivity extends Activity {
private RelativeLayout meseeager,myselft;
private RelativeLayout left;
private FragMentMessage myMessager;
private FragmentMyself myMyself;
private FragmentDynamic myDynamic;
private RadioGroup radioGroup;
private LinearLayout bottom;
//记录点击次数
private int count;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setInitialize();
setListener();
}
private void setInitialize() {
meseeager = (RelativeLayout) findViewById(R.id.messagerActivityID);
myselft = (RelativeLayout) findViewById(R.id.myselfActivityID);
bottom = (LinearLayout) findViewById(R.id.mainBottomBarID);
setDefaultFragment();
}
private void setDefaultFragment(){
//管理器
FragmentManager fragmentManager = getFragmentManager();
//开户事务
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
myMessager = new FragMentMessage();
fragmentTransaction.replace(R.id.frameInformationID, myMessager);
fragmentTransaction.commit();
}
private void setListener(){
// bottom.setOnClickListener(new OnClickListener() {
// @Override
// public void onClick(View v) {
//
// }
// });
}
public void click(View view){
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
switch (view.getId()) {
case R.id.mainBottomBar01ID:
Toast.makeText(MainActivity.this, "1", 1000).show();
if(myMessager==null){
myMessager = new FragMentMessage();
}
fragmentTransaction.replace(R.id.frameInformationID, myMessager);
break;
case R.id.mainBottomBar02ID:
Toast.makeText(MainActivity.this, "2", 1000).show();
break;
case R.id.mainBottomBar03ID:
Toast.makeText(MainActivity.this, "3", 1000).show();
if(myDynamic==null){
myDynamic=new FragmentDynamic();
}
fragmentTransaction.replace(R.id.frameInformationID, myDynamic);
break;
case R.id.mainBottomBar04ID:
Toast.makeText(MainActivity.this, "4", 1000).show();
if(myMyself==null){
myMyself = new FragmentMyself();
}
fragmentTransaction.replace(R.id.frameInformationID, myMyself);
break;
}
fragmentTransaction.commit();
}
}

5)实现效果


7)本地音乐播放器

public class LocalMusicActivity extends Activity {
private ListView listView;
private List<LoaderMusic> list;
private Cursor cursor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_localmusic);
intialize();
setListView(loaderMusic());
}
private void intialize() {
listView = (ListView) findViewById(R.id.listMusicID);
}
@SuppressLint("SimpleDateFormat")
private List<LoaderMusic> loaderMusic(){
cursor = getContentResolver().query(
Media.EXTERNAL_CONTENT_URI, 
null, 
null, 
null, 
null);
Log.i("TAG", "cursor="+cursor);
list = new ArrayList<LoaderMusic>();
Log.i("TAG", "cursor.getcount="+cursor.getCount());
for(int i=0;i<cursor.getCount();i++){
LoaderMusic musics = new LoaderMusic();
cursor.moveToNext();
String title = cursor.getString(cursor.getColumnIndex(Media.TITLE));
Log.i("TAG", "title="+title);
String duratation = cursor.getString(cursor.getColumnIndex(Media.DURATION));
// SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
// String time = sdf.format(duratation);
// Log.i("TAG", "time="+time);
String artist = cursor.getString(cursor.getColumnIndex(Media.ARTIST));
Log.i("TAG", "artist="+artist);
String path = cursor.getString(cursor.getColumnIndex(Media.DATA));
Log.i("TAG", "path="+path);
String isMusic = cursor.getString(cursor.getColumnIndex(Media.IS_MUSIC));
int is = Integer.parseInt(isMusic);
if(is==1){
musics.setTitle(title);
musics.setDuratation(duratation);
musics.setArtist(artist);
musics.setPath(path);
list.add(musics);
}
}
return list;
}
private SimpleAdapter mAdapter;
private void setListView(List<LoaderMusic> list){
List<HashMap<String, String>> mp3list = new ArrayList<HashMap<String, String>>();  
        for (Iterator iterator = list.iterator(); iterator.hasNext();) {  
        LoaderMusic mp3Info = (LoaderMusic) iterator.next();  
            HashMap<String, String> map = new HashMap<String, String>();  
            map.put("title", mp3Info.getTitle());  
            map.put("Artist", mp3Info.getArtist());  
            map.put("duration", String.valueOf(mp3Info.getDuratation()));  
            map.put("url", mp3Info.getPath());  
            mp3list.add(map);  
        }  
        mAdapter = new SimpleAdapter(this, mp3list,  
                R.layout.music_item, new String[] { "title","Artist","duration"  },  
                new int[] { R.id.textMusicTitleID, R.id.textMusicOrderID, R.id.textMusicTimeID});  
        listView.setAdapter(mAdapter);      
}
}

8)界面显示 


9)服务界面


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值