利用IOS镜像文件浏览器在模拟器镜像文件中添加音乐文件
把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控件
<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程序
//对文件名进行截取 去掉后缀
name = name.substring(0,name.lastIndexOf(“.”));
mp3list.add(name);//吧文件名添加到集合中去
再次运行程序
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;
}
}