Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Android sdcard 6.0


Rekomendowane odpowiedzi

Opublikowano

W jaki sposób przeskanować całą sd card ? Jeśli wpiszę ścieżkę /sdcard/ to nie wyszukuje mi muzyki, jeśli /sdcard/Download/ no to się wyświetla... Jeśli ktoś ma w innym folderze to klops...

Chcę wstawić aplikację do sklepu play, ale musi to działać na każdym telefonie, jakieś propozycje ?

 

Czy każdy standardowy, potencjalny folder przeszukiwać?

pl ;)

Opublikowano

Rozumiem, że chcesz przeskanować całą kartę w poszukiwaniu konkretnych plików?

 

Edit:

 

Tworzysz sobie dynamicznego array'a w którym będziesz przechowywał informację o znalezionych plikach dzwiękowych:

private ArrayList<HashMap<String, String>> audioFiles = new ArrayList<HashMap<String, String>>();

Dodatkowo dwie stałe:

public static final String SD_PATH = Environment.getExternalSTorageDirectory().getPath() + "/";
public static final String FILE_EXT = ".mp3";

Jedna z path'em karty SD, druga z rozszerzeniem szukanego pliku.

 

Następnie tworzysz sobie takie metody:

public ArrayList<HashMap<String, String>> getPlayList()
{
    if (MEDIA_PATH != null)
    {
        File home = new File(MEDIA_PATH);
        File[] files = home.listFiles();
        if (files != null && files.length > 0)
        {
            for (File file : files)
            {
                System.out.println(file.getAbsolutePath());
                if (file.isDirectory())
                {
                    scanDirectory(file);
                } else
                {
                    addSongToList(file);
                }
            }
        }
    }
    
    return audioFiles;
}

private void scanDirectory(File dir)
{
    if (dir != null)
    {
        File[] files = dir.listFiles();
        if (files != null && files.length > 0)
        {
            for (File file : files)
            {
                if (file.isDirectory())
                {
                    scanDirectory(file);
                } else {
                    addSongToList(file);
                }

            }
        }
    }
}

private void addSongToList(File file)
{
    if (file.getName().endsWith(mp3Pattern))
    {
        HashMap<String, String> songs = new HashMap<String, String>();
        songs.put("songTitle", file.getName().substring(0, (file.getName().length() - 4)));
        songs.put("songPath", file.getPath());

        songsList.add(songs);
    }
}

Oczywiście możesz je dowolnie edytować, pierwsza metoda powinna mieć dostęp do array'a, ewentualnie można przekazać jakiegoś ref'a jej, ale najlepiej jak wrzucisz te metody do tej samej klasy, gdzie masz array'a.

Opublikowano

Ok. Większość i tak miałem xD tylko chodziło o sam moment przeskanowania karty sd, aby całą przeskanowało. Wieczorem zobacze :P

pl ;)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...