Files
simple-notes-sync/android
inventory69 9b6bf04954 🐛 Release v1.1.1 - Critical Bugfixes
 Server-Erreichbarkeits-Check vor jedem Sync
- Socket-Check mit 2s Timeout (DHCP/Routing-Init abwarten)
- Verhindert Fehler-Notifications in fremden WiFi-Netzen
- Verhindert Fehler bei Netzwerk-Initialisierung (WiFi-Connect)
- Stiller Abbruch wenn Server nicht erreichbar
- 80% schnellerer Abbruch: 2s statt 10+ Sekunden

🔧 Notification-Verbesserungen
- Alte Notifications werden beim App-Start gelöscht
- Fehler-Notifications verschwinden automatisch nach 30s
- Bessere Batterie-Effizienz

📱 UI-Bugfixes
- Sync-Icon nur anzeigen wenn Sync konfiguriert ist
- Swipe-to-Delete: Kein Flackern mehr bei schnellem Löschen
- Scroll-to-Top nach Note Save (ListAdapter async fix)

📡 Sync-Architektur Dokumentation
- SYNC_ARCHITECTURE.md mit allen 4 Sync-Triggern
- DOCS.md + DOCS.en.md aktualisiert
- GitHub Actions: F-Droid Changelogs statt Commit-Messages

🎯 Testing: BUGFIX_SPURIOUS_SYNC_ERROR_NOTIFICATIONS.md
📦 Version: 1.1.1 (versionCode=3)
2025-12-26 12:18:51 +01:00
..
2025-12-26 12:18:51 +01:00
2025-12-26 12:18:51 +01:00

Simple Notes - Android App

🚧 Development Setup

Voraussetzungen

  • Android Studio Hedgehog (2023.1.1) oder neuer
  • JDK 17
  • Android SDK 34
  • Min SDK 24

Projekt in Android Studio öffnen

# In Android Studio:
# File → New → New Project
# Template: Empty Views Activity
# 
# Settings:
# Name: Simple Notes
# Package: com.example.simplenotes
# Save location: /home/liq/gitProjects/simple-notes-sync/android/
# Language: Kotlin
# Minimum SDK: API 24
# Build configuration: Kotlin DSL

Dependencies

Siehe ANDROID_GUIDE.md in project-docs für vollständige build.gradle.kts:

Hauptabhängigkeiten:

  • Sardine Android (WebDAV Client)
  • Kotlin Coroutines
  • Gson (JSON)
  • WorkManager (Background Sync)
  • Material Design Components

Projektstruktur

android/
└── app/
    └── src/
        └── main/
            ├── AndroidManifest.xml
            ├── java/com/example/simplenotes/
            │   ├── MainActivity.kt
            │   ├── NoteEditorActivity.kt
            │   ├── SettingsActivity.kt
            │   ├── models/
            │   │   ├── Note.kt
            │   │   └── SyncStatus.kt
            │   ├── storage/
            │   │   └── NotesStorage.kt
            │   ├── sync/
            │   │   ├── WebDavSyncService.kt
            │   │   ├── WifiSyncReceiver.kt
            │   │   ├── SyncWorker.kt
            │   │   └── ConflictResolver.kt
            │   ├── adapters/
            │   │   └── NotesAdapter.kt
            │   └── utils/
            │       ├── DeviceIdGenerator.kt
            │       ├── NotificationHelper.kt
            │       ├── Extensions.kt
            │       └── Constants.kt
            └── res/
                ├── layout/
                ├── values/
                └── drawable/

📖 Development Guide

Vollständige Code-Beispiele und Implementation:

🏗️ Build

# Debug Build
./gradlew assembleDebug

# Release Build
./gradlew assembleRelease

# Install on connected device
./gradlew installDebug

🧪 Testing

# Run unit tests
./gradlew test

# Run instrumented tests
./gradlew connectedAndroidTest

📝 TODO

  • Projekt in Android Studio erstellen
  • Dependencies einrichten
  • Models implementieren (Note.kt, SyncStatus.kt)
  • Storage Layer (NotesStorage.kt)
  • UI Layouts erstellen
  • Activities implementieren
  • Sync Service (WebDavSyncService.kt)
  • WLAN Detection (WifiSyncReceiver.kt)
  • WorkManager Setup (SyncWorker.kt)
  • Notifications (NotificationHelper.kt)
  • Error Handling
  • Testing

Next Step: Projekt in Android Studio erstellen und Code aus ANDROID_GUIDE.md übernehmen.