2011-06-29 14 views
0

私はSDカードからすべての音楽ファイルを読みたいが、私はまだカードに音楽を見つけることができませんSDカードやプログラム上のいくつかの場所にファイルを入れてみました。誰でも提案はありますか?どこにファイルを置くのですか?アンドロイドエミュレータSDカード

答えて

0

に役立つ可能性があります。アンドロイドで

、SDカードを「/ SDカード」に取り付けられています。私はここにコードはありませんが、それはこのようなものでした。

public List<String> getMp3Files() { 
    File sdcard = new File("/sdcard"); 
    return getMp3Files(sdcard); 
} 

private List<String> getMp3Files(File directory) { 
    List<String> mp3files = new ArrayList<String>(); 

    File[] files = directory.listFiles(); 
    if(files == null) { 
     return Collections.EMPTY_LIST; 
    } 

    for(File file : files) { 
     if(file.isFile() && file.getName().toLowerCase().endsWith(".mp3")) { 
      mp3files.add(file.getAbsolutePath()); 
     } else if (file.isDirectory()) { 
      mp3files.addAll(getMp3Files(file)); 
     } 
    } 

    return mp3files; 
} 

モバイル用にはすべてが最適化されていませんが、動作します。そして、あなたはルートフォルダから始まるこのコードを実行した場合、それはフォルダの無限ループになってしまいますことを注意してください! (あなたはいつでも試してみることができます:D)。

+0

私の問題は、私はエミュレータのSDカード上のmp3ファイルを置くことができないということです。私はDDMSを使用するとき、私は3つのディレクトリデータ、mntとシステムを持っています。 – szilard

+0

それだけで私はデータディレクトリ内のものをコピーすることができますが、私はそれをコピーすると、プログラムはそれを表示しません – szilard

+0

混乱のために申し訳ありません:)。 DDMSでは、sdカードは/ mnt/sdcardにあります。私が昨日見つけたものは、ファイルが数MBよりも大きい場合、通常はファイル転送に失敗し、いくつかのmp3ファイルを転送する唯一の方法は、それらをエクスプローラからDDMSにドラッグすることでした。 DDMSまたはadb経由でプッシュしようとすると、ファイル転送が失敗します。 – Augusto

関連する問題