poniedziałek, 17 lutego 2014

Sprawdzanie ilości wolnego miejsca na karcie SD


Kod źródłowy do tej lekcji znajduje się tutaj. Rozpakuj go i zaimportuj. W katalogu z kodem źródłowym znajdą się podkatalogi oznaczone numerami. Są to po prostu kolejne wersje kodu, tworzonego w ramach przykładów. Możesz analizować kolejne kroki tworzenia aplikacji, lub od razu zabrać się za kod z katalogu o najwyższym numerku.


Jeśli chcemy sprawdzić ilość wolnego miejsca na karcie SD lub w katalogu , możemy skorzystać z klasy StatFs. Niestety nie działa to dla katalogu root.
W pierwszej kolejności przyklejam na ekranie element typu TextView. Będzie na nim wyświetlona ilość miejsca na karcie.



Teraz trzeba dodać nieco kodu który to obsłuży:




Zasadniczo to co najważniejsze mieści się w liniach 16 i 17. W 16 z użyciem konstruktora klasy StatFs wskazuję katalog dla którego będzie sprawdzana ilość wolnego miejsca. W linii 17 wykorzystuję metody getBlockSize i getBlockCount do sprawdzenia ilości miejsca na karcie wyrażonej w bajtach. Ponieważ bardziej czytelne jest wyświetlenie tego w megabajtach, dzielę dwukrotnie uzyskaną wartość przez 1024 i zaokrąglam w linii 18. Efekt działania programu:



6 komentarzy:

  1. Przydatny wątek do tego zagadnienia: http://stackoverflow.com/questions/24712164/how-to-get-the-internal-sdcard-storage-and-externalremoval-sdcard-storage-and

    OdpowiedzUsuń
  2. Te karty SD to dobrze, że są. Ile na nich rzeczy można trzymać. Na przykład swoje ulubione utwory muzyczne. Mając taką w telefonie czy tablecie wystarczy na przykład na https://www.oleole.pl/glosniki-przenosne,_Manta.bhtml dokupić przenośny głośnik i można taką muzykę słuchać gdzie się chce. Taki głośnik to świetne rozwiązanie, wszędzie można taki ze sobą zabrać. Ja tam sobie taki chcę kupić.

    OdpowiedzUsuń
  3. To miejsce to skarbnica wiedzy i ciekawych informacji.

    OdpowiedzUsuń