| Filtyp | APK |
|---|---|
| Version | Preview |
| Utgivare | |
| Utgivningsdatum | 25 okt. 2017 |
| Datum tillagt | 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 antal nedladdningar | 1 002 |
| Nedladdningar per vecka | 8 |
| Pris | Free |
Beskrivning
Android O introducerar en mängd nya funktioner och möjligheter för användare och utvecklare. Det här dokumentet visar vad som är nytt för utvecklare.
Se till att kolla in Android O Behavior Changes för att lära dig mer om områden där plattformsändringar kan påverka dina appar.
Neural nätverks API
Neural Networks API (NNAPI) förser appar med hårdvaruacceleration för maskininlärning på enheten. API:et stöder skapande, kompilering och exekvering av modeller på enheten. Appar använder vanligtvis inte NNAPI direkt; istället är NNAPI tänkt att anropas av maskininlärningsbibliotek, ramverk och verktyg som låter utvecklare träna sina modeller och distribuera dem på Android-enheter.
Om du vill veta mer om Neural Networks API, se referensdokumenten för Neural Networks API och utvecklarguiden för Neural Networks API.
Aviseringar
Android 8.1 Developer Preview 1 innehåller följande ändringar av meddelanden:
Appar kan nu bara göra ett aviseringsljud en gång per sekund. Varningsljud som överskrider denna frekvens ställs inte i kö och går förlorade. Den här ändringen påverkar inte andra aspekter av aviseringsbeteende och aviseringsmeddelanden publiceras fortfarande som förväntat.
NotificationListenerService och ConditionProviderService stöds inte på Android-drivna enheter med låg ram som returnerar true när ActivityManager.isLowRamDevice() anropas.
Förbättrad inriktning för enheter med låg RAM
Android 8.1 (API-nivå 27) lägger till två nya hårdvarufunktionskonstanter, FEATURE_RAM_LOW och FEATURE_RAM_NORMAL, till Package Manager. Dessa konstanter låter dig rikta fördelningen av dina appar och APK-delningar till enheter med normal eller låg RAM.
Dessa konstanter gör det möjligt för Play Store att främja en bättre användarupplevelse genom att lyfta fram appar som är särskilt väl lämpade för funktionerna hos en given enhet.
Uppdateringar av ramverk för autofyll
Android 8.1 Developer Preview (API nivå 27) ger flera förbättringar av Autofill Framework som du kan integrera i dina appar.
Utvecklarförhandsgranskningen lägger till stöd för anpassade beskrivningar som Android-systemet visar i gränssnittet för att spara autofyll istället för den ursprungliga representationen av data. Detta är användbart, till exempel när du vill maskera ett kreditkortsnummer och endast visa de fyra sista siffrorna. Mer information finns i klassen CustomDescription.
Utvecklarförhandsgranskningen låter dig ange ett valideringsobjekt som din app kan använda för att avgöra om Android-systemet ska visa gränssnittet för att spara autofyll. Den här funktionen tillhandahålls av metoden setValidator() i klassen SaveInfo.Builder.
Klassen BaseAdapter i Developer Preview inkluderar metoden setAutofillOptions() som låter dig tillhandahålla strängrepresentationer av värdena i en adapter. Detta är användbart för spinnerkontroller som dynamiskt genererar värdena i sina adaptrar. Till exempel kan du använda metoden thesetAutofillOptions() för att tillhandahålla en strängrepresentation av listan över år som användarna kan välja som en del av ett kreditkorts utgångsdatum. Autofyll-tjänster kan använda strängrepresentationen för att på lämpligt sätt fylla i de vyer som kräver data.
Dessutom inkluderar klassen AutofillManager notifyViewVisibilityChanged(View, int, boolean)-metoden som du kan anropa för att meddela ramverket om ändringar i synligheten för en vy i en virtuell struktur. Det finns också en överbelastning av metoden för icke-virtuella strukturer. Men icke-virtuella strukturer kräver vanligtvis inte att du uttryckligen informerar ramverket eftersom metoden redan anropas av klassen View.
EditText uppdatering
Från och med API-nivå 27 returnerar metoden EditText.getText() en Editable; tidigare returnerade den en CharSequence. Denna förändring är bakåtkompatibel, eftersom Editable implementerar CharSequence.
Det redigerbara gränssnittet ger värdefull ytterligare funktionalitet. Till exempel, eftersom Editable också implementerar Spannable-gränssnittet, kan du använda uppmärkning på innehåll i en instans av EditText.
Programmatisk Safe Browsing-åtgärder
Genom att använda WebView-implementeringen av Safe Browsing API kan din app upptäcka när en instans av WebView försöker navigera till en webbadress som Google har klassificerat som ett känt hot. Som standard visar WebView en mellansidesannons, som visas i figur 1, som varnar användaren för det kända hotet och ger dem möjlighet att ladda webbadressen ändå eller gå tillbaka till en tidigare sida som är säker.
I Android 8.1 Developer Preview kan du definiera programmatiskt hur din app reagerar på ett känt hot:
Du kan styra om din app rapporterar kända hot mot Safe Browsing.
Du kan låta din app automatiskt utföra en viss åtgärd – som att gå tillbaka till säkerheten – varje gång den stöter på en webbadress som Safe Browsing klassificerar som ett känt hot.
Obs: För optimalt skydd mot kända hot, vänta tills du har initierat Safe Browsing innan du anropar ett WebView-objekts loadUrl()-metod.
Utdragare av videominiatyrer
Klassen MediaMetadataRetriever har en ny metod, getScaledFrameAtTime(), som hittar en ram nära en given tidsposition och returnerar en bitmapp med samma bildförhållande som källramen, men skalad för att passa in i en rektangel med given bredd och höjd. Detta är användbart för att generera miniatyrbilder från video.
Vi rekommenderar att du använder den här metoden snarare än getFrameAtTime() som kan slösa minne eftersom den returnerar en bitmapp med samma upplösning som källvideon. Till exempel skulle en bildruta från en 4K-video vara en 16 MB bitmapp, mycket större än du skulle behöva för en miniatyrbild.
API för delat minne
Android 8.1 (API nivå 27) introducerar en ny SharedMemory-klass. Den här klassen låter dig skapa, kartlägga och hantera anonymt delat minne som kan användas av flera processer eller appar.
WallpaperColors API
Android 8.1 Developer Preview (API nivå 27) lägger till stöd för att hantera bakgrundsfärger. Den här funktionen låter dig skapa ett WallpaperColors-objekt från en bitmapp, en ritbar eller genom att använda de tre första mest visuellt representativa färgerna. Du kan också hämta detaljer om de tre första märkbara färgerna på en tapet.
För att skapa ett WallpaperColors-objekt, gör något av följande:
För att skapa ett WallpaperColors-objekt genom att använda tre färger, skapa en instans av klassen WallpaperColors genom att skicka den primära, den sekundära och den tertiära färgen. Primärfärgen får inte vara null.
För att skapa ett WallpaperColors-objekt från en bitmapp, anropa metoden fromBitmap() genom att skicka bitmappskällan som parameter.
För att skapa ett WallpaperColors-objekt från en drawable, anropa metoden fromDrawable() genom att skicka den drawable source som parameter.
För att hämta de primära, sekundära eller tertiära färgdetaljerna från tapeten, anropar du följande metoder:
getPrimaryColor() returnerar den mest märkbara färgen på tapeten.
getSecondaryColor() returnerar den näst mest framstående färgen på tapeten.
getTertiaryColor()-metoden returnerar den tredje mest framstående färgen på tapeten
För att meddela systemet om betydande färgförändringar, anropa notifyColorsChanged()-metoden. Den här metoden utlöser en livscykelhändelse onComputeColors() där du har möjlighet att tillhandahålla ett nytt WallpaperColors-objekt.
För att lägga till en lyssnare för färgändringar kan du anropa metoden addOnColorsChangedListener() . Du kan också anropa metoden getWallpaperColors() för att hämta primärfärgerna på en bakgrundsbild.
Fingeravtrycksuppdateringar
Klassen FingerprintManager har introducerat följande felkoder:
FINGERPRINT_ERROR_LOCKOUT_PERMANENT - Användaren har försökt för många gånger att låsa upp sin enhet med fingeravtrycksläsaren.
FINGERPRINT_ERROR_VENDOR - Ett leverantörsspecifikt fingeravtrycksläsarfel inträffade.