A
Andr_green
Neues Mitglied
- 2
Hallo,
ich habe mal eine Frage bzgl. des Speicherns von Daten auf der SD Card von meiner App.
Mit der von Google vorgeschlagenen Methode, prüfe ich ob der externe Speicher verfügbar ist und ob darauf geschrieben werden kann.
Allerdings stehe ich vor einem Rätsel. Ich habe zwei identische Galaxy S2 hier, eines mit SD Card eines ohne.
Sollen nun die Daten von meiner App gesichert werden, so wird geprüft, mit der obigen Methode, ob der externe Speicher verfügbar und schreibbar ist.
Bei dem S2 mit SD Karte werden die Daten richtig geschrieben, wenn in der App-Übersicht die Details für die App angeschaut werden so werden die Daten auf der SD Karte verfügbar angezeigt.
Bei dem ohne SD Karte, passiert etwas unvorgesehenes. Die Methode behauptet der Externe Speicher wäre verfügbar und schreibt die Daten irgendwo hin. Allerdings sehe ich in der App übersicht nur die Daten der eigentlichen App, ohne die Daten die eigentlich gespeichert wurde.
Werden diese aber in der App Daten abgerufen, so werden sie korrekten angezeigt. Die Daten sind also irgenwo! Nach einem Neustart des S2 ohne Karte waren die Daten noch immer verfügbar, also nicht im Speicher.
Weiss jemand warum das auftritt und wohin die Daten in soeinem Fall geschrieben werden?
Vielleicht ist die vorgegebene Methode nicht die passende??!!??
Habe ich irgenwo etwas übersehen??
Wäre euch Dankbar wenn ihr hierbei helfen könntet.
Danke
ich habe mal eine Frage bzgl. des Speicherns von Daten auf der SD Card von meiner App.
Mit der von Google vorgeschlagenen Methode, prüfe ich ob der externe Speicher verfügbar ist und ob darauf geschrieben werden kann.
Code:
if (Environment.MEDIA_MOUNTED.equals(state)) {
// We can read and write the media
mExternalStorageAvailable = mExternalStorageWriteable = true;
File extdir = Environment.getExternalStorageDirectory();
StatFs stats = new StatFs(extdir.getAbsolutePath());
int availableBytes = stats.getAvailableBlocks()
* stats.getBlockSize();
Log.i("size", availableBytes + "");
String path=Environment.getExternalStorageDirectory().toString();
File mFile= new File(path);
if(!mFile.exists())
mExternalStorageWriteable = false;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
// We can only read the media
mExternalStorageAvailable = true;
mExternalStorageWriteable = false;
} else {
// Something else is wrong. It may be one of many other states, but
// all we need
// to know is we can neither read nor write
mExternalStorageAvailable = mExternalStorageWriteable = false;
}
Sollen nun die Daten von meiner App gesichert werden, so wird geprüft, mit der obigen Methode, ob der externe Speicher verfügbar und schreibbar ist.
Bei dem S2 mit SD Karte werden die Daten richtig geschrieben, wenn in der App-Übersicht die Details für die App angeschaut werden so werden die Daten auf der SD Karte verfügbar angezeigt.
Bei dem ohne SD Karte, passiert etwas unvorgesehenes. Die Methode behauptet der Externe Speicher wäre verfügbar und schreibt die Daten irgendwo hin. Allerdings sehe ich in der App übersicht nur die Daten der eigentlichen App, ohne die Daten die eigentlich gespeichert wurde.
Werden diese aber in der App Daten abgerufen, so werden sie korrekten angezeigt. Die Daten sind also irgenwo! Nach einem Neustart des S2 ohne Karte waren die Daten noch immer verfügbar, also nicht im Speicher.
Weiss jemand warum das auftritt und wohin die Daten in soeinem Fall geschrieben werden?
Vielleicht ist die vorgegebene Methode nicht die passende??!!??
Habe ich irgenwo etwas übersehen??
Wäre euch Dankbar wenn ihr hierbei helfen könntet.
Danke