Questo suggerimento rapido Android ti mostrerà come consentire agli utenti finali di risparmiare facoltativamente spazio di archiviazione del dispositivo scegliendo di archiviare l'applicazione sulla scheda SD rimovibile.
Questo tutorial prenderà un'applicazione Android esistente e aggiungerà la possibilità per l'utente di spostare l'applicazione sulla propria scheda SD. Questa funzione è stata introdotta in Android 2.2, ma non richiede che l'applicazione utilizzi l'SDK di Android 2.2 come versione minima supportata dell'SDK. Anche la tua applicazione Android 1.5 può utilizzare questa funzione.
Iniziamo questo tutorial ottenendo la versione dell'applicazione frasario Android utilizzata in un precedente tutorial chiamato Android SDK: Creazione di un frasario localizzato. Scarica il codice sorgente se desideri eseguire da solo questi passaggi, oppure segui e usa questi passaggi con le tue applicazioni Android.
Se l'utente ha Android 2.2 installato sul proprio dispositivo e non ha applicato questo suggerimento, vedrà un pulsante allettantemente utile, ma in grigio, quando provano a spostare l'applicazione sulla propria scheda SD. Gli sviluppatori devono abilitare specificatamente questa funzione all'interno delle proprie applicazioni specifiche.
Modificare il file AndroidManifest.xml dell'applicazione per aggiungere una voce per "android: installLocation" al file
...
Il valore è impostato su "auto" in modo che l'utente possa decidere dove installare l'applicazione. Se questo valore non è presente, il comportamento predefinito è consentire solo l'installazione nella memoria interna e non dare all'utente una scelta. Gli altri valori possibili da usare sono "internalOnly", che è lo stesso del comportamento senza questa impostazione, e "preferExternal", che installerà prima l'applicazione sulla scheda SD, se è disponibile e c'è spazio.
Mantieni "minSdkVersion" lo stesso di prima; non deve essere 8 per abbinare Android 2.2:
L'obiettivo di compilazione, tuttavia, deve essere aggiornato almeno al livello API 8 (Android 2.2), altrimenti verrà visualizzato il seguente errore:
errore: Nessun identificatore di risorsa trovato per l'attributo 'installLocation' nel pacchetto 'android'
Modifica il target di costruzione modificando le proprietà del progetto (fai clic con il tasto destro del mouse sul progetto in Eclipse) e scegli un target con almeno l'API di livello 8:
Ora, caricare l'applicazione su un dispositivo 2.2 (o emulatore). Vai nell'area di gestione dell'applicazione e ora vedrai che può essere spostato sulla scheda SD!
In futuro, la maggior parte delle applicazioni Android dovrebbe consentire agli utenti di scegliere il percorso di installazione dell'applicazione. Tuttavia, per alcune applicazioni, questa funzione non ha molto senso. Ad esempio, se si dispone di un widget dell'app, di uno sfondo animato o di un altro tipo di servizio o applicazione di utilità (ad esempio un gestore di file), l'applicazione non sarà di alcuna utilità se la scheda SD viene rimossa. Questo è supportato, però. Ad esempio, uno sfondo live sulla scheda SD verrà semplicemente ripristinato sullo sfondo predefinito e l'utente potrà riselezionare lo sfondo quando viene reinserita la scheda SD.
Sebbene gli utenti non possano rimuovere frequentemente le loro schede SD, la scheda SD viene smontata quando viene montata tramite USB per l'uso su un computer. Ciò potrebbe aumentare la frequenza con cui l'utente dovrà riconfigurare le app interessate. Per un elenco completo delle app interessate dalla rimozione, consulta questo riferimento su Google Android.
Ora i tuoi utenti possono scegliere se mettere o meno l'applicazione sulla loro scheda SD. Consentire questa funzione è importante in quanto gli utenti scaricano sempre più applicazioni e riempiono i loro dispositivi Android di contenuti. Se fornisci questa opzione ora, avrai un netto vantaggio rispetto ad altre applicazioni. Ci vogliono solo pochi minuti, ma consente una funzionalità molto potente. So che lo cerco; Ricevo costantemente degli avvertimenti sull'essere in basso sullo spazio sul mio buon vecchio Nexus One.
Per favore, aggiorna le tue applicazioni per permetterle e inviarle nuovamente al mercato. Lo apprezzerei e anche il resto dei tuoi utenti!
Gli sviluppatori mobili Lauren Darcey e Shane Conder hanno coautore diversi libri sullo sviluppo di Android: un libro di programmazione approfondito intitolato Sviluppo di applicazioni wireless Android e Sams TeachYourself Sviluppo di applicazioni Android in 24 ore. Quando non scrivono, passano il loro tempo a sviluppare software mobile presso la loro azienda ea fornire servizi di consulenza. Possono essere contattati via email a [email protected], tramite il loro blog su androidbook.blogspot.com e su Twitter @androidwireless.