Created
April 9, 2019 14:00
-
-
Save Klaudiusz-Borowiak/5efa3100662ffd498f54a14631e04862 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Pendrive serwisowy | |
Pendrive serwisowy służy do pozyskiwania i wgrywania plikowej bazy danych aplikacji. Pendrivem serwisowym może być każde urządzenie które przedstawia się w systemie jako urządzenie pamięci masowej. Pendrive ten, aby poprawnie był rozpoznany przez aplikację jako serwisowy, musi zawierać plik o nazwie konfigurowanej przez zmienną środowiskową ```PENDRIVE_FILE_NAME ```. Tryb serwisowy wymaga podłączonego PENDRIVEa serwisowego. Pierwszą operacją trybu serwisowego jest sporządzenie kopii aktualnej bazy danych i umieszczenie jej na pendrive. Nazwa pliku skopiowanej bazy danych ma format ```{MACHINE_ID}_{UNIX_TIMESTAMP}.db``` gdzie ```MACHINE_ID``` to identyfikator maszyny modyfikowany przez zmienną środowiskową, natomiast ```UNIX_TIMESTAMP``` to czas w formacie UNIX TIMESTAMP w sekundach. Następnie aplikacja poszukuje pliku ```{MACHINE_ID}.db``` (gdzie ```MACHINE_ID``` to identyfikator maszyny). Jeśli plik na urządzeniu zostanie znaleziony, zostanie skopiowany do folderu aplikacji i po zmianie nazwy zastępuje bieżącą bazę. Aplikacja zostanie zrestartowana i powróci do ekranu początkowego z nową wersją bazy danych. Jeśli nowy plik bazy danych nie zostanie znaleziony na pendrive, aplikacja skopiuje aktualną bazę danych i urządzenie zostanie zrestartowane. | |
# Tryb serwisowy | |
Tryb serwisowy umożliwia zgranie aktualnej bazy danych wykorzystywanej przez aplikacje i wgranie/podmianę bazy na nową. Format bazy danych to SQLite. | |
Struktura tabel,kolumn oraz ich nazwy musi być zachowana. Przykładowy plik bazy danych znajduje się w repozytorium. Przy każdym starcie aplikacji, sprawdzana jest struktura bazy danych oraz wykonywanych jest kilka testów spójności danych. Jeśli z jakiegoś powodu baza jest nieprawidłowa, aplikacja zostanie wystartowana z poprzedniej kopii bazy danych. | |
Aby wejść w tryb serwisowy należy na ekranie wyboru języka nacisnąc pięciokrotnie napis ```Język/xxx/yyy``` Tak jak zaznaczono na rysunku czerwonym prostokątem: | |
 | |
Następnie postępować z instrukcjami wyświetlonymi na ekranie: | |
* Włożyć urządzenie pamięci masowej do portu maszyny | |
* Poczekać na komunikat o końcu procesu aktualizacji | |
* Wyjąć urządzenie pamięci masowej | |
Po wyjęciu urządzenia aplikacja zostanie zrestartowana i wróci do ekranu wyboru języka (stanu początkowego) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment