利用IOS镜像文件浏览器在模拟器镜像文件中添加音乐文件

android MP3文件获取专辑图片_文件名

把sdcard中的MP3文件显示在界面上

1、上传音乐文件到sdcard中

private String music_path = "/mnt/sdcard/Music";//音乐文件的路径
//读取音乐文件
public void loadMp3(){
File file = new File(music_path);//实例化文件
String[] fileNames = file.list();//返回指定目录下所有的文件名

}

2、利用java的IO知识吧MP3音乐文件名读取出来,放在一个集合中

private List<String> mp3list = new ArrayList<String>();//文件名有多个要建一个集合 
   //读取音乐文件
    public void loadMp3(){
        File file = new File(music_path);//实例化文件
        String[] fileNames = file.list();//返回指定目录下所有的文件名

        //对文件名的数组进行迭代
        for(String name : fileNames){
            //需要对文件名进行过滤
            if(name.endsWith(".mp3")){//是否以指定的后缀名结束

                mp3list.add(name);//吧文件名添加到集合中去
            }
        }

3、创建一个ListView控件,用来显示装音乐文件名集合的内容

<ListView
        android:id="@+id/mp3list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

//数据适配器用于把list的数据显示在ListView ArrayAdapter adapter = new ArrayAdapter(Context, resource, textViewResourceId, objects)context上下文表示在那个控件中显示这个内容用this代替
resource 资源文件意思是我要把这个list内容显示在控件的某个地方
如此的话就得指定某个样式来对显示的内容进行控制
在Layout目录下新建一个xml文件采用相对布局就好了里面添加一个TextView控件

android MP3文件获取专辑图片_android MP3文件获取专辑图片_02


<TextView
        android:id="@+id/mp3Name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="15sp"
        />这时resource可以用R.layout.list_items代替了 
 textViewResourceId就用R.id.mp3Name代替 
 mp3list就代替objects//设置数据适配器 
 lv.setAdapter(adapter); 
 loadMp3();//调用加载音乐文件函数


打开模拟器运行app程序

android MP3文件获取专辑图片_控件_03


//对文件名进行截取 去掉后缀

name = name.substring(0,name.lastIndexOf(“.”));

mp3list.add(name);//吧文件名添加到集合中去

再次运行程序

android MP3文件获取专辑图片_文件名_04


Activity程序完整代码:

package com.example.mp3player;


import java.io.File;
import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;


public class MainActivity extends Activity {

    private String music_path = "/mnt/sdcard/music";//音乐文件的路径
    private List<String> mp3list = new ArrayList<String>();//文件名有多个要建一个集合
    private ListView lv = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        lv = (ListView) findViewById(R.id.mp3list);
        loadMp3();//调用加载音乐文件函数
        //数据适配器用于把list的数据显示在ListView控件中
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_items, R.id.mp3Name, mp3list);
        //设置数据适配器
        lv.setAdapter(adapter);

    }

    //读取音乐文件
    public void loadMp3(){
        File file = new File(music_path);//实例化文件
        String[] fileNames = file.list();//返回指定目录下所有的文件名

        //对文件名的数组进行迭代
        for(String name : fileNames){
            //需要对文件名进行过滤
            if(name.endsWith(".mp3")){//是否以指定的后缀名结束
                //对文件名进行截取 去掉后缀
                name = name.substring(0,name.lastIndexOf("."));
                mp3list.add(name);//吧文件名添加到集合中去
            }
        }

    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}