Esta Sugerencia rápida de Android le mostrará cómo permitir que sus usuarios finales, de manera opcional, ahorren un valioso espacio de almacenamiento en el dispositivo al elegir almacenar su aplicación en su tarjeta SD extraíble.
Este tutorial tomará una aplicación de Android existente y agregará la capacidad para que el usuario mueva la aplicación a su tarjeta SD. Esta función se introdujo en Android 2.2, pero no requiere que la aplicación utilice el SDK de Android 2.2 como la versión mínima compatible del SDK. Incluso tu aplicación Android 1.5 puede usar esta característica.
Comenzamos este tutorial obteniendo la versión de la aplicación Android de libro de frases que se usó en un tutorial anterior llamado Android SDK: Creación de un libro de frases localizado. Descargue el código fuente si desea realizar estos pasos usted mismo, o simplemente siga los pasos y utilice estos pasos con sus propias aplicaciones de Android.
Si el usuario tiene Android 2.2 instalado en su dispositivo y no ha aplicado esta sugerencia, verá un botón tentadoramente útil, aunque en gris cuando intenten mover la aplicación a su tarjeta SD. Los desarrolladores deben habilitar específicamente esta función dentro de sus aplicaciones específicas.
Edite el archivo AndroidManifest.xml de la aplicación para agregar una entrada para "android: installLocation" a la
...
El valor se establece en "automático" para que el usuario pueda decidir dónde instalar la aplicación. Si este valor no está presente en absoluto, el comportamiento predeterminado es permitir solo la instalación en el almacenamiento interno y no dar una opción al usuario. Los otros valores posibles a usar son "internalOnly" que es el mismo que el comportamiento sin esta configuración, y "preferExternal", que instalará la aplicación en la tarjeta SD primero, si está disponible y hay espacio.
Mantenga la "minSdkVersion" igual que antes; no necesita ser 8 para que coincida con Android 2.2:
Sin embargo, el objetivo de compilación debe actualizarse al menos al nivel de API 8 (Android 2.2), de lo contrario, aparecerá el siguiente error:
error: no se ha encontrado ningún identificador de recurso para el atributo 'installLocation' en el paquete 'android'
Cambie el destino de compilación editando las propiedades del proyecto (haga clic con el botón derecho en el proyecto en Eclipse) y elija un destino con al menos el nivel 8 de API:
Ahora, cargue la aplicación en un dispositivo 2.2 (o emulador). Vaya al área de administración de aplicaciones y verá que se puede mover a la tarjeta SD!
En el futuro, la mayoría de las aplicaciones de Android deben permitir a los usuarios elegir la ubicación de instalación de la aplicación. Sin embargo, para algunas aplicaciones, esta característica no tiene mucho sentido. Por ejemplo, si tiene un widget de aplicación, un fondo de pantalla en vivo u otro tipo de servicio o aplicación de utilidad (como un administrador de archivos), su aplicación no será de ninguna utilidad si se extrae la tarjeta SD. Esto es compatible, sin embargo. Por ejemplo, un fondo de pantalla en vivo en la tarjeta SD simplemente volverá al fondo de pantalla predeterminado y el usuario puede volver a seleccionar su fondo de pantalla en vivo cuando la tarjeta SD se vuelva a insertar..
Aunque los usuarios no pueden extraer sus tarjetas SD con frecuencia, la tarjeta SD se desmonta cuando se monta a través de USB para usarla en una computadora. Esto aumentará potencialmente la frecuencia con la que el usuario tendrá que reconfigurar las aplicaciones afectadas. Para obtener una lista completa de las aplicaciones que se ven afectadas cuando se eliminan, consulte esta referencia de Google Android.
Ahora sus usuarios pueden tener la opción de poner o no su aplicación en su tarjeta SD. Permitir esta función es importante ya que los usuarios descargan más y más aplicaciones y llenan sus dispositivos Android con contenido. Si proporciona esta opción ahora, tendrá una clara ventaja sobre otras aplicaciones. Solo toma unos minutos, pero permite una característica muy poderosa. Sé que lo busco; Constantemente recibo advertencias sobre la falta de espacio en mi buen viejo Nexus One.
Por favor, actualice sus aplicaciones para permitir esto y vuelva a enviarlas al mercado. Te lo agradecería y así lo hará el resto de tus usuarios.!
Los desarrolladores de dispositivos móviles Lauren Darcey y Shane Conder han sido coautores de varios libros sobre el desarrollo de Android: un libro de programación en profundidad titulado Desarrollo de aplicaciones inalámbricas para Android y Sams TeachYourself Desarrollo de aplicaciones para Android en 24 horas. Cuando no están escribiendo, pasan su tiempo desarrollando software móvil en su empresa y brindando servicios de consultoría. Puede comunicarse con ellos por correo electrónico a [email protected], a través de su blog en androidbook.blogspot.com, y en Twitter @androidwireless.