Dieser Android-Schnelltipp zeigt Ihnen, wie Sie Ihren Endbenutzern ermöglichen, optional wertvollen Gerätespeicherplatz zu sparen, indem Sie Ihre Anwendung auf ihrer austauschbaren SD-Karte speichern.
In diesem Lernprogramm wird eine vorhandene Android-Anwendung verwendet, und der Benutzer kann die Anwendung auf seine SD-Karte verschieben. Diese Funktion wurde in Android 2.2 eingeführt, es ist jedoch nicht erforderlich, dass die Anwendung das Android 2.2-SDK als unterstützte Mindest-SDK-Version verwendet. Sogar Ihre Android 1.5-Anwendung kann diese Funktion verwenden.
Wir beginnen mit diesem Lernprogramm, indem Sie die Version der Android-Anwendung "Phrasebook" abrufen, die in einem früheren Lernprogramm namens "Android SDK" verwendet wurde: Erstellen eines lokalisierten Phrasebooks. Laden Sie den Quellcode herunter, wenn Sie diese Schritte selbst ausführen möchten, oder führen Sie diese Schritte einfach mit Ihren eigenen Android-Anwendungen aus.
Wenn der Benutzer Android 2.2 auf seinem Gerät installiert hat und Sie diesen Tipp nicht angewendet haben, wird eine äußerst nützliche, jedoch abgeblendete Schaltfläche angezeigt, wenn Sie versuchen, die Anwendung auf die SD-Karte zu verschieben. Entwickler müssen diese Funktion speziell in ihren spezifischen Anwendungen aktivieren.
Bearbeiten Sie die Datei AndroidManifest.xml der Anwendung, um dem Eintrag einen Eintrag für "android: installLocation" hinzuzufügen
…
Der Wert ist auf "auto" gesetzt, sodass der Benutzer entscheiden kann, wo die Anwendung installiert werden soll. Wenn dieser Wert überhaupt nicht vorhanden ist, wird standardmäßig nur die Installation im internen Speicher zugelassen, und der Benutzer hat keine Auswahl. Die anderen möglichen Werte sind "internalOnly", was dem Verhalten ohne diese Einstellung entspricht, und "PreferExternal", bei dem die Anwendung zuerst auf der SD-Karte installiert wird, sofern sie verfügbar ist und Platz vorhanden ist.
Behalten Sie die "minSdkVersion" wie zuvor bei; es muss nicht 8 sein, um Android 2.2 zu entsprechen:
Das Erstellungsziel muss jedoch mindestens auf API Level 8 (Android 2.2) aktualisiert werden. Andernfalls wird der folgende Fehler angezeigt:
Fehler: Für das Attribut 'installLocation' im Paket 'android' wurde kein Ressourcenbezeichner gefunden.
Ändern Sie das Erstellungsziel, indem Sie die Projekteigenschaften bearbeiten (klicken Sie mit der rechten Maustaste auf das Projekt in Eclipse) und wählen Sie ein Ziel mit mindestens API Level 8 aus:
Laden Sie nun die Anwendung auf ein 2.2-Gerät (oder einen Emulator). Gehen Sie zum Anwendungsverwaltungsbereich, und Sie können jetzt sehen, dass er auf die SD-Karte verschoben werden kann!
In Zukunft sollten die meisten Android-Anwendungen Benutzern die Möglichkeit geben, den Installationsort der Anwendung auszuwählen. Für einige Anwendungen ist diese Funktion jedoch weniger sinnvoll. Wenn Sie beispielsweise über ein App-Widget, ein Live-Hintergrundbild oder eine andere Art von Dienst oder Dienstprogramm (z. B. einen Dateimanager) verfügen, kann Ihre Anwendung nicht verwendet werden, wenn die SD-Karte entfernt wird. Dies wird jedoch unterstützt. Ein Live-Hintergrundbild auf der SD-Karte wird beispielsweise einfach auf das Standardhintergrundbild zurückgesetzt, und der Benutzer kann Ihr Live-Hintergrundbild erneut auswählen, wenn die SD-Karte erneut eingesetzt wird.
Obwohl Benutzer ihre SD-Karten möglicherweise nicht häufig entfernen, wird die Bereitstellung der SD-Karte aufgehoben, wenn sie über USB für die Verwendung auf einem Computer bereitgestellt wird. Dies erhöht möglicherweise die Häufigkeit, mit der der Benutzer betroffene Apps neu konfigurieren muss. Eine vollständige Liste der betroffenen Apps finden Sie in dieser Google Android-Referenz.
Jetzt können Ihre Benutzer die Wahl haben, ob Sie Ihre Anwendung auf ihre SD-Karte legen möchten oder nicht. Das Erlauben dieser Funktion ist wichtig, da Benutzer immer mehr Anwendungen herunterladen und ihre Android-Geräte mit Inhalten füllen. Wenn Sie diese Option jetzt angeben, haben Sie einen deutlichen Vorteil gegenüber anderen Anwendungen. Es dauert nur wenige Minuten und ermöglicht dennoch eine sehr leistungsfähige Funktion. Ich weiß, dass ich danach suche. Ich bekomme ständig Warnungen, dass ich auf meinem guten alten Nexus One wenig Platz habe.
Aktualisieren Sie Ihre Anwendungen, um dies zuzulassen, und stellen Sie sie erneut auf den Markt. Ich würde es zu schätzen wissen und auch der Rest Ihrer Benutzer!
Die mobilen Entwickler Lauren Darcey und Shane Conder haben mehrere Bücher zur Android-Entwicklung mitgeschrieben: ein ausführliches Programmierbuch mit dem Titel Android Wireless-Anwendungsentwicklung und Sams TeachYourself Entwicklung von Android-Anwendungen in 24 Stunden. Wenn sie nicht schreiben, verbringen sie ihre Zeit damit, mobile Software in ihrem Unternehmen zu entwickeln und Beratungsdienste anzubieten. Sie können sie per E-Mail an [email protected], über ihren Blog unter androidbook.blogspot.com und über Twitter @androidwireless erreichen.