Implikasjoner av Android 4.0 Ice Cream Sandwich for apputviklere

Som daglig Android-bruker og ivrig fan er jeg ekstremt spent på Android 4.0 Ice Cream Sandwich. Jeg trodde det ville være en liten oppgradering fra Honeycomb for å bringe synkronisering av telefoner og nettbrett, så jeg forventet ikke alle de fantastiske funksjonene Google la til. Det er mye å se frem til, inkludert det fullstendig overhalede brukergrensesnittet, Face Unlock, maskinvareakselerasjon og den nye kameraprogramvaren.

Som utvikler er jeg litt forvirret når det gjelder fremtiden til de nåværende appene mine. Galaxy Nexus, den første Google-flaggskipsenheten som ble lansert med Ice Cream Sandwich, har ingen maskinvareknapper, som følger i fotsporene til Honeycomb-tabletter. Noen av knappene som tidligere var maskinvareknapper (for eksempel Tilbake og Hjem), er nå i programvare. Google har imidlertid valgt å erstatte meny- og søkeknappene med en dedikert multi-tasking-knapp for raskt å veksle mellom åpne apper.

For gamle apper er Honeycomb og Ice Cream Sandwich designet for å vise en programvaremeny-knapp for å støtte den gamle Alternativer-menyen, men det ser ikke alltid ut til å fungere riktig, ettersom brukere av Galaxy Nexus oppdager på visse populære apper som Facebook . Hvis den gamle menyknappen ikke vises, har brukere ingen mulighet til å få tilgang til Alternativer-menyen, som vanligvis er der utviklere liker å feste innstillingene.

Tilbake da Honeycomb først kom ut, introduserte Google utviklere til Action Bar. Handlingslinjen var ment å erstatte den gamle Options Menu og var et smart trekk fra Googles side - designet gir utviklerne mye fleksibilitet. Handlingslinjen eliminerer også en av de store undergangene i den gamle alternativmenyen ved å bringe tidligere skjulte alternativer i høysetet og gjøre det tydelig at disse alternativene finnes.

Da jeg først begynte å utvikle Android-apper, var jeg en stor tilhenger av Options Menu; det var en flott måte å enkelt pakke inn ekstra alternativer i brukergrensesnittet uten å rote det opp. Jeg vil legge til mange funksjoner i Alternativer-menyen fordi jeg elsket hvor rent det etterlot brukergrensesnittet. Jeg fikk raskt vite at bare strømbrukerne tenkte å trykke på menyknappen når de lette etter flere alternativer, så mange av de beste funksjonene mine ble ikke oppdaget. Handlingslinjen løser dette problemet perfekt, og i et fremtidig innlegg vil jeg dekke alle tilpasningene som kan gjøres.

Hvis jeg lar enhetene Honeycomb og Ice Cream Sandwich bruke appen min, risikerer jeg at ingen kan få tilgang til den nåværende Alternativer-menyen. Jeg kunne begrense nettbrett fra å laste ned appen min fra Android Market (selv om jeg ikke så dette problemet oppstå før i Honeycomb), som bare ville forlate Galaxy Nexus. Dette vekker flere spørsmål:

  1. Er det å støtte en enhet verdt tid og krefter det tar å lære om handlingslinjen og implementere den i stedet for den gamle alternativmenyen?
  2. Hva blir trenden med Ice Cream Sandwich-telefoner? Vil produsenter følge i Googles fotspor og fjerne maskinvareknapper i stedet for programvareknapper?

Spørsmål nr. 2 er hva du må vurdere hvis du skal investere tiden på å oppgradere appen din. Da Ice Cream Sandwich først ble kunngjort, var OEMs raske med å legge ut en liste over enheter som ville bli oppgradert. Siden alle enhetene allerede har fysiske knapper, vil appene dine ikke bli påvirket på disse enhetene, selv når de kjører Ice Cream Sandwich, fordi operativsystemet ble designet for bare å bruke virtuelle knapper når maskinvaren mangler fysiske.

Det kommer virkelig ned på fremtidige enheter. En av de lekkede gjengivelsene jeg har sett på nettet, er HTC Edge, som er rykter om å være en firekjernet, 4, 5 "720 p-toting monster. Hvis gjengivelsene stemmer, vil enheten sportslige maskinvareknapper, som får meg til å klø hode.

Jeg tror programvareknappene er veien å gå, fordi det gjør at produsenten kan bruke det meste av enhetens kropp for skjermen for å maksimere skjermstørrelsen og samtidig holde enhetens samlede fotavtrykk til et minimum. Det betyr selvfølgelig ikke at de vil gjøre det.

Det ville gjøre ting enklere hvis den nye handlingslinjen var bakoverkompatibel, som fragmenter. På grunn av dette er det ikke lurt å gå foran og bytte appen din til å bruke den nye Action Bar, som vil kreve at du målretter deg mot Ice Cream Sandwich og dermed lar tidligere versjoner av Android ikke støttes. Dette er sannsynligvis en av grunnene som fører til at Google introduserer en funksjon i Android Market som lar deg publisere flere APK-er for hver av appene dine.

Foreløpig er det beste alternativet å avgrense kildekoden til en egen versjon bare for Ice Cream Sandwich (og eventuelt Honeycomb hvis du ønsker å støtte nettbrett), implementere den nye Action Bar og publisere den til Market som en egen APK . For å gjøre dette, anbefaler jeg at du gjør ditt nåværende prosjekt til et Android-bibliotek og deretter oppretter to nye prosjekter - ett for 2, 3 og under og det andre for Honeycomb og over, og inkluderer Android-biblioteket du opprettet. Dette lar deg gjøre feilrettinger og endringer i delte områder av koden bare en gang i stedet for i to separate apper.

Har du allerede konvertert appen din til den nye handlingslinjen? Har du lagt til støtte for Honeycomb / Ice Cream Sandwich, men stoler du på den gamle menyknappen? Lyd av i kommentarene.

Relatert: Inside Android 4.0 Ice Cream Sandwich (skjermbilder)

© Copyright 2020 | mobilegn.com