update
This commit is contained in:
42
android/README.md
Normal file
42
android/README.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Planer für Android
|
||||
|
||||
Native App (Kotlin, Jetpack Compose) mit drei Tabs: Kalender, Todos, Notizen. Gleicher Server, gleiche Daten wie die Desktop-Extension.
|
||||
|
||||
## Bedienung
|
||||
|
||||
- **Kalender:** Monat, Woche, Tag. Tipp auf einen Tag im Monat öffnet den Tag. Langes Drücken auf einen Tag oder eine Stunde: Termin oder Todo erstellen. Kurzer Tipp auf eine Stunde in der Woche: Termin ab dieser Stunde. Tipp auf einen Block bearbeitet, im Dialog steht auch Löschen.
|
||||
- **Todos:** Häkchen erledigt, Tipp auf den Text bearbeitet, Plus legt an.
|
||||
- **Notizen:** Tipp öffnet Ordner oder Notiz. Langes Drücken: Erstellen, Umbenennen, Löschen. In der Notiz bearbeitet ein Tipp auf den Text, gespeichert wird alle 5 Sekunden und bei „Fertig“.
|
||||
- **Server:** Zugang steckt schon in der APK (aus der `.env` beim Bauen). Hier lässt er sich ändern. Der Sync läuft im Hintergrund, solange die App offen ist.
|
||||
|
||||
## Bauen und installieren
|
||||
|
||||
```
|
||||
make apk # holt beim ersten Mal die Werkzeuge nach ~/Android (JDK 17, SDK, Gradle), baut die APK mit URL und SYNC_TOKEN aus .env
|
||||
make apk-install # installiert auf ein per USB verbundenes Handy
|
||||
```
|
||||
|
||||
Am Handy: Entwickleroptionen, USB-Debugging an, beim Anstecken den Dialog „USB-Debugging zulassen“ bestätigen.
|
||||
Alternativ die APK (`android/app/build/outputs/apk/debug/app-debug.apk`) aufs Handy kopieren und dort öffnen.
|
||||
|
||||
## Entwicklung
|
||||
|
||||
```
|
||||
source android/dev/env.sh # Werkzeuge in den PATH
|
||||
cd android && gradle test # Unit-Tests (Dates, Markdown, Store)
|
||||
android/dev/setup.sh # legt auch den Emulator „test“ an
|
||||
emulator -avd test -no-window & # Emulator ohne Fenster (mit Fenster: ohne -no-window)
|
||||
android/dev/ui.sh boot # wartet, bis er bereit ist
|
||||
android/dev/ui.sh install # APK in den Emulator, App starten
|
||||
android/dev/ui.sh tap "Todos" # Bedienen: tap, longtap, type, key, has, texts, shot, dump
|
||||
```
|
||||
|
||||
Im Emulator erreicht `http://10.0.2.2:8040` den lokalen Server aus `make dev`.
|
||||
Bei USB-Handy plus Emulator nimmt `ui.sh` immer den Emulator.
|
||||
|
||||
## Aufbau
|
||||
|
||||
- `data/Store.kt` – Ablage als JSON in den App-Dateien, Tombstones, Übernahme vom Server
|
||||
- `data/Sync.kt` – Abgleich wie die Extension: sofort nach eigener Änderung, sonst 1s/5s/10s je nach Ruhe
|
||||
- `data/Markdown.kt`, `data/Dates.kt` – gleiche Regeln wie `markdown.js` und `dates.js`
|
||||
- `ui/` – Kalender, Todos, Notizen, Server-Einstellungen, Dialoge
|
||||
Reference in New Issue
Block a user