laut Doku kann ich im res/raw nur Dateien ablegen, nicht in diese wiederum Daten schreiben
Stimmt, du hast auch nur vom Lesen geschrieben ;-)
Am saubersten wäre es IMHO so:
- Du gibst ein Default-File im RAW-Ordner mit. Dieses File sollte so klein wie möglich sein und nur dazu dienen die kleinste funktionierende Möglichkeit des Files darzustellen.
- Beim ersten Start der Applikation packst du dieses File auf die SD-Karte. Falls es keine SD-Karte gibt, packst du es in den Internal Storage. Dann merkst du dir noch in deinen App-Preferences wohin du es gepackt hast.
- Auf dieses File führst du dann deine Operationen aus.
Dann erschlägst du gleich 2 Fliegen mit einer Klappe:
- Du hast dein File
- Du belegst nicht unnötig Platz im kostbaren Internal Storage.
Eine andere Möglichkeit wäre natürlich auch anstatt des Default-Files alles in eine Klasse zu packen und die dann als Vorlage zu verwenden. Das macht das resultierende APK wieder ein wenig kleiner, könnte aber - je nach dem wie die Daten aussehen - Updates etwas aufwendiger machen.