Duża część aplikacji potrzebuje przechowywać dane wprowadzone przez użytkownika czy też swój stan. Nie inaczej jest też w mojej aplikacji.
W aplikacji będę musiał przechowywać dane na dwa sposoby:
- W bazie danych
Android na szczęście dostarcza nam SQLite. Jak można wywnioskować z nazwy jest to baza danych z 'lekko’ okrojoną funkcjonalnością, ale na szczęście do moich zastosowań jest to całkowicie wystarczające.
Poniżej przedstawiam wstępny schemat bazy danych, który zastosuję w menadżerze dokumentów.
- document – tabela przechowująca informacje o dodanych dokumentach
- tag – tagi, które zostały dodane do dokumentów podczas ich tworzenia
- document_tag – tabela pomocnicza dla relacji many-to-many
- document_file – table zawierająca informacje o plikach/zdjęciach dodany do danego dokumentu
Na początku chciałem wykorzystać ORM przy zarządzaniu wpisami w bazie danych, ale mając na uwadze wielkość oraz stopień skomplikowania bazy danych sądzę, iż jest to zbędnę.
- W pamięci urządzenia
Wszystkie dodane pliki oraz zdjęcia, które będą powiązane z dodawanymi dokumentami będą musiały znaleźć swoje miejsce w pamięci urządzenia lub na karcie SD