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:



1 komentarz:

  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ń