アラーム アプリケーションの着信音を設定しようとしています。このために、SD カードのさまざまなフォルダーとサブフォルダーに存在する .mp3 拡張子を持つすべての曲を表示する必要があります。
フォルダー/サブフォルダーではなく、.mp3 ファイルのみを表示したい。サブフォルダー内からではなく、SD カードから曲を表示するコーディングが既にあります。指定されたすべてのコーディングは、必要のない特定のフォルダーからのみ曲を取得します。SD カードにあるすべての mp3 曲が必要です。
public class Mp3filterActivity extends Activity{
final String MEDIA_PATH = new String("/sdcard/");
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView listsong =(ListView)findViewById(R.id.songlist);
ArrayList<String> mp3list = new ArrayList<String>();
mp3list=mp3select();
Toast.makeText(this, "mp3files" +mp3list, Toast.LENGTH_LONG).show();
ArrayAdapter<String> listAdapter=new ArrayAdapter<String>(Mp3filterActivity.this,android.R.layout.simple_list_item_1,mp3list);
listsong.setAdapter(listAdapter);
}
public ArrayList<String> mp3select(){
File home = new File(MEDIA_PATH);
ArrayList<String> list = new ArrayList<String>();
//if (home.isDirectory())
if (home.listFiles(new FileExtensionFilter()).length > 0)
{
for (File file : home.listFiles(new FileExtensionFilter()))
{
list.add(file.getName().substring(0, (file.getName().length() - 4)));
}
}
return list;
}
class FileExtensionFilter implements FilenameFilter
{
public boolean accept(File dir, String name) {
return (name.endsWith(".mp3") ||name.endsWith(".MP3"));
}
}
}