Denne Android Quick Tip viser deg hvordan du kan la sluttbrukerne lagre verdifull lagring av enhetsplass ved å velge å lagre programmet på deres flyttbare SD-kort.
Denne opplæringen tar et eksisterende Android-program og legger til at brukeren kan flytte programmet til SD-kortet. Denne funksjonen ble introdusert i Android 2.2, men krever ikke at programmet skal bruke Android 2.2 SDK som den minste støttede SDK-versjonen. Selv Android 1.5-applikasjonen kan bruke denne funksjonen.
Vi starter denne opplæringen ved å skaffe versjonen av phrasebook Android-applikasjonen som ble brukt i en tidligere opplæring, kalt Android SDK: Bygg en lokalisert Phrasebook. Last ned kildekoden hvis du vil utføre disse trinnene selv, eller bare følg med og bruk disse trinnene med dine egne Android-programmer.
Hvis brukeren har Android 2.2 installert på enheten og du ikke har brukt dette tipset, vil de se en spennende nyttig, men gråtonet ut-knapp når de prøver å flytte programmet til SD-kortet. Utviklere må spesifikt aktivere denne funksjonen i sine spesifikke applikasjoner.
Rediger AndroidManifest.xml-filen til programmet for å legge til en oppføring for "android: installLocation" til
...
Verdien er satt til "auto" slik at brukeren kan bestemme hvor installasjonen skal installeres. Hvis denne verdien ikke er til stede, er standardoppførelsen bare tillatt å installere til intern lagring og ikke gi brukeren et valg. Andre mulige verdier å bruke er "internalOnly", som er det samme som oppførselen uten denne innstillingen, og "preferExternal", som vil installere programmet på SD-kortet først, hvis det er tilgjengelig og det er rom.
Hold "minSdkVersion" det samme som før; det trenger ikke å være 8 for å matche Android 2.2:
Byggemålet må imidlertid oppdateres til minst API Nivå 8 (Android 2.2), ellers får du følgende feil:
feil: Ingen ressursidentifikator funnet for attributt 'installLocation' i pakken 'android'
Endre byggemålet ved å redigere prosjektegenskapene (høyreklikk på prosjektet i Eclipse), og velg et mål med minst API Nivå 8:
Last inn programmet på en 2,2-enhet (eller emulator). Gå til programstyringsområdet, og du vil nå se at den kan flyttes til SD-kortet!
I fremtiden bør de fleste Android-applikasjoner gjøre det mulig for brukerne å velge installasjonsplassen for programmet. Men for noen programmer gir denne funksjonen ikke så mye mening. Hvis du for eksempel har en app-widget, live-bakgrunnsbilde eller en annen type tjeneste- eller bruksprogram (for eksempel en filbehandling), vil programmet ditt ikke være til nytte hvis SD-kortet er fjernet. Dette støttes, skjønt. For eksempel vil et levende bakgrunnsbilde på SD-kortet ganske enkelt gå tilbake til standard bakgrunnsbilde, og brukeren kan velge nytt live-bakgrunnsbilde når SD-kortet settes inn igjen..
Selv om brukere kanskje ikke fjerner SD-kortene sine ofte, er SD-kortet demontert når det er montert via USB for bruk på en datamaskin. Dette vil potensielt øke frekvensen som brukeren må omkonfigurere programmer som er berørt. For en fullstendig liste over apper som er berørt når fjernet, se denne Google Android-referansen.
Nå har brukerne mulighet til å velge om programmet skal legges på SD-kortet. Å tillate denne funksjonen er viktig når brukere laster ned flere og flere programmer og fyller opp Android-enhetene sine med innhold. Hvis du gir dette alternativet nå, har du en klar fordel over andre programmer. Det tar bare noen få minutter, men gjør det mulig for en meget kraftig funksjon. Jeg vet at jeg ser etter det; Jeg får stadig advarsler om å være lav på plass på min gode gamle Nexus One.
Vennligst oppdatere programmene dine for å tillate dette, og send dem på nytt til markedet. Jeg vil sette pris på det, og det vil også resten av brukerne dine!
Mobilutviklere Lauren Darcey og Shane Conder har medforfatter flere bøker om Android-utvikling: en grundig programmeringsbok med tittel Android Wireless Application Development og Sams TeachYourself Android Application Development i 24 timer. Når de ikke skriver, bruker de sin tid på å utvikle mobil programvare hos deres firma og tilby konsulenttjenester. De kan nås via e-post til [email protected], via bloggen deres på androidbook.blogspot.com, og på Twitter @androidwireless.