2

内部ストレージで利用可能なメディアを取得しようとしています。

実際の電話に「teststorage」フォルダーを作成しました。DDMS プッシュで曲をプッシュしました。

質問: Java ファイルで言及する必要があるファイル パスは何ですか?

サンプルコード:

final String MEDIA_PATH = new String("/mnt/shell/emulated/O/teststorage");
public ArrayList<HashMap<String, String>> getPlayList() 
 {
       File musicFolder = new File(MEDIA_PATH);
       if (musicFolder.listFiles(new FileExtensionFilter()).length > 0) 
       {
          for (File file : musicFolder.listFiles(new FileExtensionFilter())) 
          {
             HashMap<String, String> song = new HashMap<String, String>();
             song.put("songTitle",file.getName().substring(0,(file.getName().length() - 4)));
             song.put("songPath", file.getPath());
             // Adding each song to SongList
             songsList.add(song);
           }
        }
     // return songs list array
        return songsList;
 }

これは DDMS ファイル エクスプローラーで確認できるパスですが、同じ場合、パスは次のように表示されます。

"/storage/emulated/O/teststorage"    

電話内のファイルエクスプローラーで。

次に、リストを取得するコードで言及するものを選択します。両方試してみましたが、どの曲もリストされていません。

私がそこで何をしているのか。

4

1 に答える 1

1

以下を試してください

File file= new File(android.os.Environment.getExternalStorageDirectory()+"/emulated/O/teststorage");

File.seperatorの代わりにも使用/

http://developer.android.com/guide/topics/data/data-storage.html#files外部

外部ストレージ上のファイルへのアクセスのトピックを確認してください

于 2013-09-04T12:03:28.953 に答える