- NEW: Configurable sync triggers (onSave, onResume, WiFi, Periodic, Boot) - NEW: Offline mode toggle to disable all network features - Various fixes and UI improvements - Version bumped to 1.6.0 (code 14)
309 lines
12 KiB
Markdown
309 lines
12 KiB
Markdown
# Vollständige Feature-Liste 📋
|
||
|
||
**🌍 Sprachen:** **Deutsch** · [English](FEATURES.md)
|
||
|
||
> Alle Features von Simple Notes Sync im Detail
|
||
|
||
---
|
||
|
||
## 📝 Notiz-Verwaltung
|
||
|
||
### Notiz-Typen
|
||
- ✅ **Textnotizen** - Klassische Freitext-Notizen
|
||
- ✅ **Checklisten** _(NEU in v1.4.0)_ - Aufgabenlisten mit Tap-to-Check
|
||
- ➕ Items hinzufügen über Eingabefeld
|
||
- ☑️ Tap zum Abhaken/Wieder-Öffnen
|
||
- 📌 Long-Press für Drag & Drop Sortierung
|
||
- ~~Durchstreichen~~ bei erledigten Einträgen
|
||
|
||
### Basis-Funktionen
|
||
- ✅ **Automatisches Speichern** - Kein manuelles Speichern nötig
|
||
- ✅ **Titel + Inhalt** - Klare Struktur für jede Notiz
|
||
- ✅ **Zeitstempel** - Erstellungs- und Änderungsdatum automatisch
|
||
- ✅ **Auswahlmodus** _(NEU in v1.5.0)_ - Long-Press für Mehrfachauswahl und Batch-Löschen
|
||
- ✅ **Bestätigungs-Dialog** - Schutz vor versehentlichem Löschen
|
||
- ✅ **Jetpack Compose UI** _(NEU in v1.5.0)_ - Moderne, performante Benutzeroberfläche
|
||
- ✅ **Material Design 3** - Moderne, saubere UI
|
||
- ✅ **Dark Mode** - Automatisch je nach System-Einstellung
|
||
- ✅ **Dynamic Colors** - Passt sich deinem Android-Theme an
|
||
|
||
### Editor
|
||
- ✅ **Minimalistischer Editor** - Kein Schnickschnack
|
||
- ✅ **Auto-Fokus** - Direkt losschreiben
|
||
- ✅ **Vollbild-Modus** - Maximale Schreibfläche
|
||
- ✅ **Speichern-Button** - Manuelle Bestätigung möglich
|
||
- ✅ **Zurück-Navigation** - Speichert automatisch
|
||
- ✅ **Slide-Animationen** _(NEU in v1.5.0)_ - Flüssige Übergänge
|
||
|
||
---
|
||
|
||
## 🌍 Mehrsprachigkeit _(NEU in v1.5.0)_
|
||
|
||
### Unterstützte Sprachen
|
||
- ✅ **Englisch** - Primäre Sprache (Standard)
|
||
- ✅ **Deutsch** - Vollständige Übersetzung
|
||
|
||
### Sprachauswahl
|
||
- ✅ **Automatische Erkennung** - Folgt der System-Sprache
|
||
- ✅ **Manuelle Auswahl** - In den Einstellungen umschaltbar
|
||
- ✅ **Per-App Language** - Android 13+ native Sprachauswahl
|
||
- ✅ **locales_config.xml** - Vollständige Android-Integration
|
||
|
||
### Umfang
|
||
- ✅ **400+ Strings** - Komplett übersetzt
|
||
- ✅ **UI-Texte** - Alle Buttons, Dialoge, Menüs
|
||
- ✅ **Fehlermeldungen** - Hilfreiche lokalisierte Hinweise
|
||
- ✅ **Einstellungen** - 7 kategorisierte Screens
|
||
|
||
---
|
||
|
||
## 💾 Backup & Wiederherstellung
|
||
|
||
### Lokales Backup System
|
||
- ✅ **JSON-Export** - Alle Notizen in einer Datei
|
||
- ✅ **Freie Speicherort-Wahl** - Downloads, SD-Karte, Cloud-Ordner
|
||
- ✅ **Dateinamen mit Zeitstempel** - `simplenotes_backup_YYYY-MM-DD_HHmmss.json`
|
||
- ✅ **Vollständiger Export** - Titel, Inhalt, Timestamps, IDs
|
||
- ✅ **Menschenlesbares Format** - JSON mit Formatierung
|
||
- ✅ **Unabhängig vom Server** - Funktioniert komplett offline
|
||
|
||
### Wiederherstellungs-Modi
|
||
- ✅ **Zusammenführen (Merge)** - Neue Notizen hinzufügen, bestehende behalten _(Standard)_
|
||
- ✅ **Ersetzen (Replace)** - Alle löschen und Backup importieren
|
||
- ✅ **Duplikate überschreiben (Overwrite)** - Backup gewinnt bei ID-Konflikten
|
||
- ✅ **Automatisches Sicherheits-Backup** - Vor jeder Wiederherstellung
|
||
- ✅ **Backup-Validierung** - Prüft Format und Version
|
||
- ✅ **Fehlerbehandlung** - Klare Fehlermeldungen bei Problemen
|
||
|
||
---
|
||
|
||
## 🖥️ Desktop-Integration
|
||
|
||
### Markdown-Export
|
||
- ✅ **Automatischer Export** - Jede Notiz → `.md` Datei
|
||
- ✅ **Checklisten als Task-Listen** _(NEU)_ - `- [ ]` / `- [x]` Format (GitHub-kompatibel)
|
||
- ✅ **Dual-Format** - JSON (Master) + Markdown (Mirror)
|
||
- ✅ **Dateinamen-Sanitization** - Sichere Dateinamen aus Titeln
|
||
- ✅ **Duplikat-Handling** _(NEU)_ - ID-Suffix bei gleichen Titeln
|
||
- ✅ **Frontmatter-Metadata** - YAML mit ID, Timestamps, Type
|
||
- ✅ **WebDAV-Sync** - Parallel zum JSON-Sync
|
||
- ✅ **Optional** - In Einstellungen ein/ausschaltbar
|
||
- ✅ **Initial Export** - Alle bestehenden Notizen beim Aktivieren
|
||
- ✅ **Progress-Anzeige** - Zeigt X/Y beim Export
|
||
|
||
### Markdown-Import
|
||
- ✅ **Desktop → App** - Änderungen vom Desktop importieren
|
||
- ✅ **Last-Write-Wins** - Konfliktauflösung via Timestamp
|
||
- ✅ **Frontmatter-Parsing** - Liest Metadata aus `.md` Dateien
|
||
- ✅ **Neue Notizen erkennen** - Automatisch in App übernehmen
|
||
- ✅ **Updates erkennen** - Nur wenn Desktop-Version neuer ist
|
||
- ✅ **Fehlertoleranz** - Einzelne Fehler brechen Import nicht ab
|
||
|
||
### WebDAV-Zugriff
|
||
- ✅ **Network Drive Mount** - Windows, macOS, Linux
|
||
- ✅ **Jeder Markdown-Editor** - VS Code, Typora, Notepad++, iA Writer
|
||
- ✅ **Live-Bearbeitung** - Direkter Zugriff auf `.md` Dateien
|
||
- ✅ **Ordner-Struktur** - `/notes/` für JSON, `/notes-md/` für Markdown
|
||
- ✅ **Automatische Ordner-Erstellung** - Beim ersten Sync
|
||
|
||
---
|
||
|
||
## 🔄 Synchronisation
|
||
|
||
### Auto-Sync
|
||
- ✅ **Intervall-Auswahl** - 15, 30 oder 60 Minuten
|
||
- ✅ **WiFi-Trigger** - Sync bei WiFi-Verbindung _(keine SSID-Einschränkung)_
|
||
- ✅ **Akkuschonend** - ~0.2-0.8% pro Tag
|
||
- ✅ **Smart Server-Check** - Sync nur wenn Server erreichbar
|
||
- ✅ **WorkManager** - Zuverlässige Background-Ausführung
|
||
- ✅ **Battery-Optimierung kompatibel** - Funktioniert auch mit Doze Mode
|
||
|
||
### Sync-Trigger (6 Stück)
|
||
1. ✅ **Periodic Sync** - Automatisch nach Intervall
|
||
2. ✅ **App-Start Sync** - Beim Öffnen der App
|
||
3. ✅ **WiFi-Connect Sync** - Bei jeder WiFi-Verbindung
|
||
4. ✅ **Manual Sync** - Button in Einstellungen
|
||
5. ✅ **Pull-to-Refresh** - Wisch-Geste in Notizliste
|
||
6. ✅ **Settings-Save Sync** - Nach Server-Konfiguration
|
||
|
||
### Sync-Mechanismus
|
||
- ✅ **Upload** - Lokale Änderungen zum Server
|
||
- ✅ **Download** - Server-Änderungen in App
|
||
- ✅ **Konflikt-Erkennung** - Bei gleichzeitigen Änderungen
|
||
- ✅ **Konfliktfreies Merging** - Last-Write-Wins via Timestamp
|
||
- ✅ **Sync-Status Tracking** - LOCAL_ONLY, PENDING, SYNCED, CONFLICT
|
||
- ✅ **Fehlerbehandlung** - Retry bei Netzwerkproblemen
|
||
- ✅ **Offline-First** - App funktioniert ohne Server
|
||
|
||
### Server-Verbindung
|
||
- ✅ **WebDAV-Protokoll** - Standard-Protokoll
|
||
- ✅ **HTTP/HTTPS** - HTTP nur lokal, HTTPS für extern
|
||
- ✅ **Username/Password** - Basic Authentication
|
||
- ✅ **Connection Test** - In Einstellungen testen
|
||
- ✅ **Server-URL Normalisierung** - Automatisches `/notes/` und `/notes-md/` _(NEU in v1.2.1)_
|
||
- ✅ **Flexible URL-Eingabe** - Beide Varianten funktionieren: `http://server/` und `http://server/notes/`
|
||
|
||
---
|
||
|
||
## 🔒 Privacy & Sicherheit
|
||
|
||
### Self-Hosted
|
||
- ✅ **Eigener Server** - Volle Kontrolle über Daten
|
||
- ✅ **Keine Cloud** - Keine Drittanbieter
|
||
- ✅ **Kein Tracking** - Keine Analytik, keine Telemetrie
|
||
- ✅ **Kein Account** - Nur Server-Zugangsdaten
|
||
- ✅ **100% Open Source** - MIT Lizenz
|
||
|
||
### Daten-Sicherheit
|
||
- ✅ **Lokale Speicherung** - App-Private Storage (Android)
|
||
- ✅ **WebDAV-Verschlüsselung** - HTTPS für externe Server
|
||
- ✅ **Passwort-Speicherung** - Android SharedPreferences (verschlüsselt)
|
||
- ✅ **Keine Drittanbieter-Libs** - Nur Android SDK + Sardine (WebDAV)
|
||
|
||
### Entwickler-Features
|
||
- ✅ **Datei-Logging** - Optional, nur bei Aktivierung _(NEU in v1.3.2)_
|
||
- ✅ **Datenschutz-Hinweis** - Explizite Warnung bei Aktivierung
|
||
- ✅ **Lokale Logs** - Logs bleiben auf dem Gerät
|
||
|
||
---
|
||
|
||
## 🔋 Performance & Optimierung
|
||
|
||
### Akku-Effizienz (v1.6.0)
|
||
- ✅ **Konfigurierbare Sync-Trigger** - Jeden Trigger einzeln aktivieren/deaktivieren
|
||
- ✅ **Smarte Defaults** - Nur ereignisbasierte Trigger standardmäßig aktiv
|
||
- ✅ **Optimierte Periodische Intervalle** - 15/30/60 Min (Standard: AUS)
|
||
- ✅ **WiFi-Only** - Kein Mobile Data Sync
|
||
- ✅ **Smart Server-Check** - Sync nur wenn Server erreichbar
|
||
- ✅ **WorkManager** - System-optimierte Ausführung
|
||
- ✅ **Doze Mode kompatibel** - Sync läuft auch im Standby
|
||
- ✅ **Gemessener Verbrauch:**
|
||
- Standard (nur ereignisbasiert): ~0.2%/Tag (~6.5 mAh) ⭐ _Optimal_
|
||
- Mit Periodic 15 Min: ~1.0%/Tag (~30 mAh)
|
||
- Mit Periodic 30 Min: ~0.6%/Tag (~19 mAh)
|
||
- Mit Periodic 60 Min: ~0.4%/Tag (~13 mAh)
|
||
|
||
### App-Performance
|
||
- ✅ **Offline-First** - Funktioniert ohne Internet
|
||
- ✅ **Instant-Load** - Notizen laden in <100ms
|
||
- ✅ **Smooth Scrolling** - RecyclerView mit ViewHolder
|
||
- ✅ **Material Design 3** - Native Android UI
|
||
- ✅ **Kotlin Coroutines** - Asynchrone Operationen
|
||
- ✅ **Minimale APK-Größe** - ~2 MB
|
||
|
||
---
|
||
|
||
## 🛠️ Technische Details
|
||
|
||
### Plattform
|
||
- ✅ **Android 8.0+** (API 26+)
|
||
- ✅ **Target SDK 36** (Android 15)
|
||
- ✅ **Kotlin** - Moderne Programmiersprache
|
||
- ✅ **Material Design 3** - Neueste Design-Richtlinien
|
||
- ✅ **ViewBinding** - Typ-sichere View-Referenzen
|
||
|
||
### Architektur
|
||
- ✅ **MVVM-Light** - Einfache Architektur
|
||
- ✅ **Single Activity** - Moderne Navigation
|
||
- ✅ **Kotlin Coroutines** - Async/Await Pattern
|
||
- ✅ **Dispatchers.IO** - Background-Operationen
|
||
- ✅ **SharedPreferences** - Settings-Speicherung
|
||
- ✅ **File-Based Storage** - JSON-Dateien lokal
|
||
- ✅ **Custom Exceptions** - Dedizierte SyncException für bessere Fehlerbehandlung _(NEU in v1.3.2)_
|
||
|
||
### Abhängigkeiten
|
||
- ✅ **AndroidX** - Jetpack Libraries
|
||
- ✅ **Material Components** - Material Design 3
|
||
- ✅ **Sardine** - WebDAV Client (com.thegrizzlylabs)
|
||
- ✅ **Gson** - JSON Serialization
|
||
- ✅ **WorkManager** - Background Tasks
|
||
- ✅ **OkHttp** - HTTP Client (via Sardine)
|
||
|
||
### Build-Varianten
|
||
- ✅ **Standard** - Universal APK (100% FOSS, keine Google-Dependencies)
|
||
- ✅ **F-Droid** - Identisch mit Standard (100% FOSS)
|
||
- ✅ **Debug/Release** - Entwicklung und Production
|
||
- ✅ **Keine Google Services** - Komplett FOSS, keine proprietären Bibliotheken
|
||
|
||
---
|
||
|
||
## 📦 Server-Kompatibilität
|
||
|
||
### Getestete WebDAV-Server
|
||
- ✅ **Docker WebDAV** (empfohlen für Self-Hosting)
|
||
- ✅ **Nextcloud** - Vollständig kompatibel
|
||
- ✅ **ownCloud** - Funktioniert einwandfrei
|
||
- ✅ **Apache mod_dav** - Standard WebDAV
|
||
- ✅ **nginx + WebDAV** - Mit korrekter Konfiguration
|
||
|
||
### Server-Features
|
||
- ✅ **Basic Auth** - Username/Password
|
||
- ✅ **Directory Listing** - Für Download
|
||
- ✅ **PUT/GET** - Upload/Download
|
||
- ✅ **MKCOL** - Ordner erstellen
|
||
- ✅ **DELETE** - Notizen löschen (zukünftig)
|
||
|
||
---
|
||
|
||
## 🔮 Zukünftige Features
|
||
|
||
Geplant für kommende Versionen:
|
||
|
||
### v1.4.0 - Checklisten
|
||
- ⏳ **Checklisten-Notizen** - Neuer Notiz-Typ mit Checkboxen
|
||
- ⏳ **Erledigte Items** - Durchstreichen/Abhaken
|
||
- ⏳ **Drag & Drop** - Items neu anordnen
|
||
|
||
### v1.5.0 - Internationalisierung
|
||
- ⏳ **Mehrsprachigkeit** - Deutsch + Englisch UI
|
||
- ⏳ **Sprachauswahl** - In Einstellungen wählbar
|
||
- ⏳ **Vollständige Übersetzung** - Alle Strings in beiden Sprachen
|
||
|
||
### v1.6.0 - Modern APIs
|
||
- ⏳ **LocalBroadcastManager ersetzen** - SharedFlow stattdessen
|
||
- ⏳ **PackageInfo Flags** - PackageInfoFlags.of() verwenden
|
||
- ⏳ **Komplexitäts-Refactoring** - Lange Funktionen aufteilen
|
||
|
||
---
|
||
|
||
## 📊 Vergleich mit anderen Apps
|
||
|
||
| Feature | Simple Notes Sync | Google Keep | Nextcloud Notes |
|
||
|---------|------------------|-------------|-----------------|
|
||
| Offline-First | ✅ | ⚠️ Eingeschränkt | ⚠️ Eingeschränkt |
|
||
| Self-Hosted | ✅ | ❌ | ✅ |
|
||
| Auto-Sync | ✅ | ✅ | ✅ |
|
||
| Markdown-Export | ✅ | ❌ | ✅ |
|
||
| Desktop-Zugriff | ✅ (WebDAV) | ✅ (Web) | ✅ (Web + WebDAV) |
|
||
| Lokales Backup | ✅ | ❌ | ⚠️ Server-Backup |
|
||
| Kein Google-Account | ✅ | ❌ | ✅ |
|
||
| Open Source | ✅ MIT | ❌ | ✅ AGPL |
|
||
| APK-Größe | ~2 MB | ~50 MB | ~8 MB |
|
||
| Akku-Verbrauch | ~0.4%/Tag | ~1-2%/Tag | ~0.5%/Tag |
|
||
|
||
---
|
||
|
||
## ❓ FAQ
|
||
|
||
**Q: Brauche ich einen Server?**
|
||
A: Nein! Die App funktioniert auch komplett offline. Der Server ist optional für Sync.
|
||
|
||
**Q: Welcher Server ist am besten?**
|
||
A: Für Einstieg: Docker WebDAV (einfach, leicht). Für Profis: Nextcloud (viele Features).
|
||
|
||
**Q: Funktioniert Markdown-Export ohne Desktop-Integration?**
|
||
A: Nein, du musst das Feature in den Einstellungen aktivieren.
|
||
|
||
**Q: Gehen meine Daten verloren wenn ich den Server wechsle?**
|
||
A: Nein! Erstelle ein lokales Backup, wechsle Server, stelle wieder her.
|
||
|
||
**Q: Warum JSON + Markdown?**
|
||
A: JSON ist zuverlässig und schnell (Master). Markdown ist menschenlesbar (Mirror für Desktop).
|
||
|
||
**Q: Kann ich die App ohne Google Play nutzen?**
|
||
A: Ja! Lade die APK direkt von GitHub oder nutze F-Droid.
|
||
|
||
---
|
||
|
||
**Letzte Aktualisierung:** v1.3.2 (2026-01-10)
|