| Filtype | APK |
|---|---|
| Versjon | Preview |
| Forlegger | |
| Utgivelsesdato | 25. okt. 2017 |
| Dato lagt til | 25. okt. 2017 |
| Os krav | Android |
| Krav | Only compatible with the Nexus 5X, Nexus 6P, Pixel C, Pixel, Pixel XL, Pixel 2, and Pixel 2 XL. |
| Totalt antall nedlastinger | 1 002 |
| Nedlastinger per uke | 8 |
| Pris | Free |
Beskrivelse
Android O introduserer en rekke nye funksjoner og muligheter for brukere og utviklere. Dette dokumentet fremhever hva som er nytt for utviklere.
Sørg for å sjekke ut Android O Behavior Changes for å lære om områder der plattformendringer kan påvirke appene dine.
Neurale nettverk API
Neural Networks API (NNAPI) gir apper maskinvareakselerasjon for maskinlæringsoperasjoner på enheten. API-en støtter oppretting, kompilering og utførelse av modeller på enheten. Apper bruker vanligvis ikke NNAPI direkte; i stedet er NNAPI ment å bli kalt opp av maskinlæringsbiblioteker, rammeverk og verktøy som lar utviklere trene modellene sine og distribuere dem på Android-enheter.
For å lære mer om Neural Networks API, se Neural Networks API-referansedokumentene og Neural Networks API-utviklerveiledningen.
Varsler
Android 8.1 Developer Preview 1 inkluderer følgende endringer i varsler:
Apper kan nå bare lage et varslingsvarsel én gang per sekund. Varsellyder som overskrider denne frekvensen, settes ikke i kø og går tapt. Denne endringen påvirker ikke andre aspekter av varslingsatferd, og varslingsmeldinger publiseres fortsatt som forventet.
NotificationListenerService og ConditionProviderService støttes ikke på Android-drevne enheter med lav RAM som returnerer true når ActivityManager.isLowRamDevice() kalles.
Forbedret målretting for enheter med lite RAM
Android 8.1 (API-nivå 27) legger til to nye maskinvare-funksjonskonstanter, FEATURE_RAM_LOW og FEATURE_RAM_NORMAL, til Package Manager. Disse konstantene lar deg målrette distribusjonen av appene dine og APK-delinger til enheter med normal eller lav RAM.
Disse konstantene gjør det mulig for Play-butikken å fremme en bedre brukeropplevelse ved å fremheve apper som er spesielt godt egnet til egenskapene til en gitt enhet.
Oppdateringer av rammeverk for autofyll
Android 8.1 Developer Preview (API-nivå 27) gir flere forbedringer til Autofill Framework som du kan integrere i appene dine.
Utviklerforhåndsvisningen legger til støtte for tilpassede beskrivelser som Android-systemet viser i autofyll-lagringsgrensesnittet i stedet for den opprinnelige representasjonen av dataene. Dette er nyttig, for eksempel når du ønsker å maskere et kredittkortnummer og kun vise de fire siste sifrene. For å lære mer, se CustomDescription-klassen.
Utviklerforhåndsvisningen lar deg spesifisere et valideringsobjekt som appen din kan bruke for å avgjøre om Android-systemet skal vise autofyll-lagringsgrensesnittet. Denne funksjonaliteten leveres av setValidator()-metoden i klassen SaveInfo.Builder.
BaseAdapter-klassen i Developer Preview inkluderer metoden setAutofillOptions() som lar deg gi strengrepresentasjoner av verdiene i en adapter. Dette er nyttig for spinnerkontroller som dynamisk genererer verdiene i sine adaptere. Du kan for eksempel bruke thesetAutofillOptions()-metoden for å gi en strengrepresentasjon av listen over år som brukerne kan velge som en del av utløpsdatoen for et kredittkort. Autofyll-tjenester kan bruke strengrepresentasjonen for å fylle ut visningene som krever dataene.
I tillegg inkluderer AutofillManager-klassen notifyViewVisibilityChanged(View, int, boolean)-metoden som du kan kalle for å varsle rammeverket om endringer i synligheten til en visning i en virtuell struktur. Det er også en overbelastning av metoden for ikke-virtuelle strukturer. Ikke-virtuelle strukturer krever imidlertid vanligvis ikke at du eksplisitt varsler rammeverket fordi metoden allerede kalles av View-klassen.
EditText-oppdatering
Fra og med API-nivå 27, returnerer EditText.getText()-metoden en Editable; tidligere returnerte den en CharSequence. Denne endringen er bakoverkompatibel, ettersom Editable implementerer CharSequence.
Det redigerbare grensesnittet gir verdifull tilleggsfunksjonalitet. For eksempel, fordi Editable også implementerer Spannable-grensesnittet, kan du bruke markering på innhold i en forekomst av EditText.
Programmatiske Safe Browsing-handlinger
Ved å bruke WebView-implementeringen av Safe Browsing API, kan appen din oppdage når en forekomst av WebView forsøker å navigere til en URL som Google har klassifisert som en kjent trussel. Som standard viser WebView en interstitial, som vist i figur 1, som advarer brukeren om den kjente trusselen og gir dem muligheten til å laste inn nettadressen uansett eller gå tilbake til en tidligere side som er sikker.
I Android 8.1 Developer Preview kan du definere programmatisk hvordan appen din reagerer på en kjent trussel:
Du kan kontrollere om appen din rapporterer kjente trusler mot Safe Browsing.
Du kan få appen din til å utføre en bestemt handling automatisk – for eksempel å gå tilbake til sikkerhet – hver gang den støter på en nettadresse som Safe Browsing klassifiserer som en kjent trussel.
Merk: For optimal beskyttelse mot kjente trusler, vent til du har initialisert Safe Browsing før du starter et WebView-objekts loadUrl()-metode.
Uttrekker for videominiatyrbilder
MediaMetadataRetriever-klassen har en ny metode, getScaledFrameAtTime(), som finner en ramme nær en gitt tidsposisjon og returnerer en bitmap med samme sideforhold som kilderammen, men skalert for å passe inn i et rektangel med gitt bredde og høyde. Dette er nyttig for å generere miniatyrbilder fra video.
Vi anbefaler å bruke denne metoden i stedet for getFrameAtTime() som kan kaste bort minne fordi den returnerer en bitmap med samme oppløsning som kildevideoen. For eksempel vil en ramme fra en 4K-video være en 16 MB bitmap, langt større enn du trenger for et miniatyrbilde.
Delt minne API
Android 8.1 (API-nivå 27) introduserer en ny SharedMemory-klasse. Denne klassen lar deg opprette, kartlegge og administrere anonymt delt minne som kan brukes av flere prosesser eller apper.
WallpaperColors API
Android 8.1 Developer Preview (API-nivå 27) legger til støtte for administrasjon av bakgrunnsfarger. Denne funksjonen lar deg lage et WallpaperColors-objekt fra en punktgrafikk, en tegnbar eller ved å bruke de tre første mest visuelt representative fargene. Du kan også hente detaljer om de tre første merkbare fargene på et tapet.
For å lage et WallpaperColors-objekt, gjør ett av følgende:
For å lage et WallpaperColors-objekt ved å bruke tre farger, oppretter du en forekomst av WallpaperColors-klassen ved å overføre primær-, sekundær- og tertiærfargen. Primærfargen må ikke være null.
For å lage et WallpaperColors-objekt fra en punktgrafikk, kall opp fromBitmap()-metoden ved å sende punktgrafikkkilden som parameter.
For å lage et WallpaperColors-objekt fra en drawable, kall opp fromDrawable()-metoden ved å sende den drawable source som parameter.
For å hente primær-, sekundær- eller tertiærfargedetaljene fra bakgrunnen, ring følgende metoder:
getPrimaryColor() returnerer den mest merkbare fargen på bakgrunnen.
getSecondaryColor() returnerer den nest mest fremtredende fargen på bakgrunnen.
getTertiaryColor()-metoden returnerer den tredje mest fremtredende fargen på bakgrunnen
For å varsle systemet om eventuelle betydelige fargeendringer, ring notifyColorsChanged()-metoden. Denne metoden utløser en onComputeColors()-livssyklushendelse der du har en mulighet til å gi et nytt WallpaperColors-objekt.
For å legge til en lytter for fargeendringer, kan du kalle opp addOnColorsChangedListener()-metoden. Du kan også kalle metoden getWallpaperColors() for å hente primærfargene til et bakgrunnsbilde.
Fingeravtrykkoppdateringer
FingerprintManager-klassen har introdusert følgende feilkoder:
FINGERPRINT_ERROR_LOCKOUT_PERMANENT – Brukeren har prøvd for mange ganger å låse opp enheten ved hjelp av fingeravtrykkleseren.
FINGERPRINT_ERROR_VENDOR – Det oppstod en leverandørspesifikk fingeravtrykkleserfeil.