# Sinnvoller Ablageort für Leveldaten



## Robokopp (7. Jan 2013)

Hallo,

welchen sinnvollen Speicherort gibt es für Leveldaten unter Android?
Ich wollte nicht unbedingt den assets ordner nehmen, da ich gerne über die vorhandenen Leveldateien iterieren würde und das so viel ich weiß nicht möglich ist mit dem AssetsManager

Edit:

wie lege ich den files-Ordner in meinem Projekt an, auf den ich per getFilesDir() zugreifen kann?

MfG


----------



## schlingel (7. Jan 2013)

Einfach in den assets-Ordner legen? Sollte hinhauen.

Wenn du allerdings auch dynamisch Files hinzufügen möchtest, wirst du das ganze auf der SD-Karte ablegen müssen. Dazu würde ich ein Basis-Set an Files in der APK mitgeben und diese beim ersten Start auf die SD-Karte kopieren und dann nur auf dem SD-Karte-Verzeichnis operieren.


----------



## Robokopp (7. Jan 2013)

Nein, daran soll sich nichts mehr ändern. Mir ging es nur um die Sache mit dem iterieren.
Hast du schonmal was mit dem "files" Ordner gemacht?


----------



## schlingel (8. Jan 2013)

Nein, habe ich nicht. 


```
AssetManager aMan = appContext.getAssets();
String[] filelist = aMan.list("");
```

Das sollte dir alle Files im Asset-Ordner liefern. Was funktioniert denn nicht?


----------



## Robokopp (9. Jan 2013)

Passt alles soweit, danke.

Ich hab noch eine Frage:

Wäre es sinnvoll Levels als serialisierte Objekte zu speichern anstatt in irgendwelchen TXT Dateien, um sich das Parsen zu sparen?


----------



## Tomate_Salat (9. Jan 2013)

Robokopp hat gesagt.:


> Wäre es sinnvoll Levels als serialisierte Objekte zu speichern anstatt in irgendwelchen TXT Dateien, um sich das Parsen zu sparen?



Imho: nein. Seriallisiere nur das, was du zum erstellen des Levels brauchst ... nicht mehr. Ansonsten musst du mit jeder Levelanpassung auch jedes Level neu Serialisieren.


----------



## Robokopp (9. Jan 2013)

Ja ich meinte Beispielsweise ein Objekt "Map", was ein zweidimensionales Array fürs Spielfeld beinhaltet und dann noch 2-3 weitere Variablen vom Typ int, beispielsweise für die Spielzeit etc.


----------



## Tomate_Salat (9. Jan 2013)

Würde ich auch nicht. Solche Dateien würde ich inhaltlich (gerade auf mobilen Geräten) so klein wie möglich halten. Wenn ich an mein altes HTC-Desire denke ... irgendwann hat man um jedes kilobyte platz gekämpft. 

Ich kann mir auch nicht vorstellen, dass eine neuseriallisierung der Maps so produktiv ist. Bei jeder Änderung an deinem Maps-Objekt musst du die Maps wieder alle ersetzen.


----------



## Robokopp (10. Jan 2013)

Tomate_Salat hat gesagt.:


> Würde ich auch nicht. Solche Dateien würde ich inhaltlich (gerade auf mobilen Geräten) so klein wie möglich halten. Wenn ich an mein altes HTC-Desire denke ... irgendwann hat man um jedes kilobyte platz gekämpft.
> 
> Ich kann mir auch nicht vorstellen, dass eine neuseriallisierung der Maps so produktiv ist. Bei jeder Änderung an deinem Maps-Objekt musst du die Maps wieder alle ersetzen.



Stimmt, daran hatte ich nicht gedacht


----------

