English    Deutsch

Warum nur CalenGoos Datenbank auf die SD Karte verschoben werden kann:

Einige Anwender hatten gefragt, warum CalenGoo nicht auf ihre SD Karte anstatt in den internen Speicher des Telefons installiert werden kann, da auf manchen Android Telefonen der interne Speicher sehr klein ist. Der Grund, warum die App selbst nicht auf die SD Karte verschoben werden kann, ist in Androids offizieller Dokumentation hier zu finden:

http://developer.android.com/guide/appendix/install-location.html#ShouldNot

Die wichtigen Stellen sind:
  • Services
    CalenGoo würde beim Anschließen des Telefons per USB an den Computer beendet werden und danach nicht wieder gestartet werden, so dass es danach keine Terminerinnerungen per anzeigen und keine Widgets mehr aktualisieren könnte:
    Your running Service will be killed and will not be restarted when external storage is remounted. You can, however, register for the ACTION_EXTERNAL_APPLICATIONS_AVAILABLE broadcast Intent, which will notify your application when applications installed on external storage have become available to the system again. At which time, you can restart your Service.
  • Alarm Services
    CalenGoos laufende Terminerinnerungen und Widget-Aktualisierungszeitpunkte würden gelöscht beim Anschließen des Telefons per USB an den Computer (s. auch Hintergrundprozess):
    Your alarms registered with AlarmManager will be cancelled. You must manually re-register any alarms when external storage is remounted.
  • App Widgets
    CalenGoo könnte keine Widgets mehr darstellen, wenn es von der SD Karte laufen würde:
    Your App Widget will be removed from the home screen. When external storage is remounted, your App Widget will not be available for the user to select until the system resets the home application (usually not until a system reboot).
  • Broadcast Receivers listening for "boot completed"
    CalenGoo könnte nicht automatisch beim Einschalten des Handys/Tablets gestartet werden und könnte daher nicht an Termine erinnern:
    The system delivers the ACTION_BOOT_COMPLETED broadcast before the external storage is mounted to the device. If your application is installed on the external storage, it can never receive this broadcast.

Daher ist es nicht möglich, CalenGoo auf die SD Karte zu installieren, aber Sie können stattdessen CalenGoos Datenbank auf die SD Karte verschieben, dann belegt CalenGoo nur ca. 5 MB des internen Speichers.

Verschieben der Datenbank auf die SD Karte

Um CalenGoos Datenbank auf die SD Karte zu verschieben, schalten Sie einfach “Einstellungen”, “Darstellung und Bedienung”, “Wartung”, “Verschiebe DB auf SD Karte” ein. Dann bleibt nur die App selbst im internen Speicher und belegt nur ein paar MB.

Warum auf einigen Geräten die SD Karte nicht die SD Karte ist

CalenGoo verwendet die offizielle Android Funktion

getExternalStorageDirectory

um das "SD Karten Verzeichnis" zu erhalten, in das die Dateien geschrieben werden. Allerdings ist das auf manchen Geräten nicht die richtige SD Karte, sondern ein Teil des internen Speichers, der als simulierte SD Karte verwendet wird. Es ist eine Entscheidung des Herstellers, welches Verzeichnis von dieser Funktion zurückgeliefert wird. Leider ist dies die einzige Funktion, die Android bereitstellt, um das SD Karten Verzeichnis zu finden. Aber auch wenn dieses Verzeichnis nicht auf der SD Karte liegt, sollte es trotzdem ein Verzeichnis sein, dass Sie von Ihrem Computer aus erreichen können, wenn Sie Ihr Handy per USB Kabel anschließen.

Vorteile/Nachteile des Einschaltens von "Verschiebe DB auf SD Karte"

Vorteile Nachteile
Spart ggf. internen Speicher Das Anschließen des Handys per USB Kabel kann die SD Karte blockieren und dazu führen, dass CalenGoo in der Zeit nicht auf seine Datenbank zugreifen kann.
Die Datenbank überlebt das Deinstallieren und erneute installieren von CalenGoo üblicherweise. D.h. Sie können CalenGoo deinstallieren und wenn es erneut installiert wird, findet es automatisch seine Datenbank auf der SD Karte und verwendet sie. Die SD Karte ist ein öffentliches Verzeichnis, d.h. andere Apps können auch auf die "calengoo.sqlite" Datei zugreifen.
Auf die Datei "calengoo.sqlite" kann zugegriffen werden, um sie zu kopieren und ein Backup davon zu erstellen.