Block 6: Import/Export (Share Intent) #9

Closed
opened 2026-05-13 12:26:16 +00:00 by jreinemann-euris · 1 comment
jreinemann-euris commented 2026-05-13 12:26:16 +00:00 (Migrated from github.com)

Ziel

Vollständiger Datenexport und -import via Share Intent.

Scope (enthalten)

  • JSON-Export: Gesamtes Inventar → JSON via Share Intent / Datei speichern
  • JSON-Import: Inventar aus JSON laden (Restore/Datenübernahme)
  • Markdown-Export: Inventar als Markdown-Text (Copy/Share für KI-Eingabe)

Scope (ausgeschlossen)

  • Room-internes JSON-Format (→ Block 2)

Abhängigkeiten

Depends on: Block 2

Akzeptanzkriterien

  • JSON-Export erstellt valide JSON-Datei und öffnet Android Share Sheet
  • JSON-Import lädt Daten korrekt in Room
  • Markdown-Export erzeugt lesbares Markdown

Testing

Integration-Test: Export → Datei → Import → Verifikation

## Ziel Vollständiger Datenexport und -import via Share Intent. ## Scope (enthalten) - JSON-Export: Gesamtes Inventar → JSON via Share Intent / Datei speichern - JSON-Import: Inventar aus JSON laden (Restore/Datenübernahme) - Markdown-Export: Inventar als Markdown-Text (Copy/Share für KI-Eingabe) ## Scope (ausgeschlossen) - Room-internes JSON-Format (→ Block 2) ## Abhängigkeiten Depends on: Block 2 ## Akzeptanzkriterien - JSON-Export erstellt valide JSON-Datei und öffnet Android Share Sheet - JSON-Import lädt Daten korrekt in Room - Markdown-Export erzeugt lesbares Markdown ## Testing Integration-Test: Export → Datei → Import → Verifikation
jreinemann-euris commented 2026-05-14 00:58:17 +00:00 (Migrated from github.com)

Planung abgeschlossen

Dieses Planungsticket wurde in folgende Feature-Tickets zerlegt:

  1. #36 - Markdown-Export: Repository-Methode implementieren (Order: 91)
  2. #37 - JSON/Markdown-Export via Share Intent (ViewModel + UI) (Order: 92)
  3. #38 - JSON-Import mit File Picker (SAF) (Order: 93)

Architekturentscheidungen

  • Markdown-Export als Repository-Methode (nicht als UseCase) – konsistent mit bestehendem exportToJson()
  • Share Intent statt direktem Datei-Speichern als primaerer Export-Weg – Android-nativer Sharing-Mechanismus
  • FileProvider fuer grosse JSON-Dateien (statt plain text im Intent Extra)
  • Storage Access Framework (SAF) fuer Import – Standard Android File Picker, keine Runtime-Permissions noetig
  • Bestaetigungsdialog vor Import – Datenverlust-Schutz bei Upsert-Semantik

Voraussetzungen

Alle Tickets haengen von Block 2 ab (bereits abgeschlossen). Die JSON-Serialisierung (ImportExportRepositoryImpl) und Tests (JsonRoundtripTest) sind bereits implementiert.

## Planung abgeschlossen Dieses Planungsticket wurde in folgende Feature-Tickets zerlegt: 1. #36 - **Markdown-Export: Repository-Methode implementieren** (Order: 91) 2. #37 - **JSON/Markdown-Export via Share Intent (ViewModel + UI)** (Order: 92) 3. #38 - **JSON-Import mit File Picker (SAF)** (Order: 93) ### Architekturentscheidungen - **Markdown-Export** als Repository-Methode (nicht als UseCase) – konsistent mit bestehendem exportToJson() - **Share Intent** statt direktem Datei-Speichern als primaerer Export-Weg – Android-nativer Sharing-Mechanismus - **FileProvider** fuer grosse JSON-Dateien (statt plain text im Intent Extra) - **Storage Access Framework (SAF)** fuer Import – Standard Android File Picker, keine Runtime-Permissions noetig - **Bestaetigungsdialog vor Import** – Datenverlust-Schutz bei Upsert-Semantik ### Voraussetzungen Alle Tickets haengen von Block 2 ab (bereits abgeschlossen). Die JSON-Serialisierung (ImportExportRepositoryImpl) und Tests (JsonRoundtripTest) sind bereits implementiert.
Sign in to join this conversation.
No description provided.