Programowanie na Androida krok po kroku – cz.9 – korzystanie z pamięci zewnętrznej

W ostatniej części naszego cyklu poznaliśmy jak zbudować podstawowy panel ustawień, który będzie przechowywał w łatwy sposób informacje. Dziś poznamy jak zapisać informacje na karcie pamięci. W odróżnieniu od SharedPreferences informacje te mogą być dowolnego typu i mogą to być nawet pliki binarne. Pokażę dziś jak napisać prostą aplikację, która będzie zapisywała i odczytywała plik tekstowy.

1. Nasza aplikacja będzie wyglądać następująco:

Bez tytułu

 

2. Na początek napiszemy metodę zapisu do pliku. Potrzebujemy standardowo wyciągnąć stringi z dwóch pól tekstowych. Do zapisu użyjemy klasy FileInputStream. Kod ten nie jest trudny, a jego wytłumaczenie zawarte będzie w komentarzach.

Bez tytułuBez tytułu

3. Teraz kilka uwag:

  • Pamiętajcie, że należy jeszcze dodać parametr onClick we właściwościach buttona
  • Aby aplikacja działała należy utworzyć dla emulatora kartę SD. W przeciwnym wypadku wyświetli się komunikat pamięć niezapisywalna zgodnie z kodem programu
  • Należy dodać jeszcze dwa uprawnienia: android.permission.WRITE_EXTERNAL_STORAGE i android.permission.READ_EXTERNAL_STORAGE

5. Teraz wykonamy odczyt z pamięci zewnętrznej. Do tego użyjemy metody klasy FileInputStream. Do tego zrobimy odpowiednie separatory, aby tekst nie był w jednej linii.

Bez tytułu

 

6. Na koniec możecie dodać w onCreate aby metoda czytaj była wywoływana przy starcie programu. W tym przypadku parametr view może być nawet null.

Bez tytułu

 

7. Standardowo kompilujemy aplikację, uruchamiamy kilkakrotnie i sprawdzamy czy zapisywanie i odczytywanie działa.

W dzisiejszej części było więcej kodu niż logiki, ponieważ do odczytywania plików nie ma jednej dobrej metody tak jak przy ustawieniach. Na koniec dorzucam standardowo plik z projektem aplikacji: PamiecZewnetrzna