| Filtype | APK |
|---|---|
| Version | Preview |
| Forlægger | |
| Udgivelses dato | 25. okt. 2017 |
| Dato tilføjet | 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. |
| Samlet antal downloads | 1.002 |
| Downloads pr. Uge | 8 |
| Pris | Free |
Beskrivelse
Android O introducerer en række nye funktioner og muligheder for brugere og udviklere. Dette dokument fremhæver, hvad der er nyt for udviklere.
Sørg for at tjekke Android O Behavior Changes for at lære om områder, hvor platformsændringer kan påvirke dine apps.
Neurale netværk API
Neural Networks API (NNAPI) giver apps hardwareacceleration til maskinlæringsoperationer på enheden. API'en understøtter oprettelse, kompilering og eksekvering af modeller på enheden. Apps bruger typisk ikke NNAPI direkte; i stedet er det meningen, at NNAPI skal kaldes af maskinlæringsbiblioteker, rammer og værktøjer, der lader udviklere træne deres modeller og implementere dem på Android-enheder.
For at lære mere om Neural Networks API, se Neural Networks API-referencedokumenterne og Neural Networks API-udviklervejledningen.
Meddelelser
Android 8.1 Developer Preview 1 inkluderer følgende ændringer af meddelelser:
Apps kan nu kun lave en meddelelsesadvarsel en gang i sekundet. Alarmlyde, der overstiger denne hastighed, sættes ikke i kø og går tabt. Denne ændring påvirker ikke andre aspekter af notifikationsadfærd, og notifikationsbeskeder sendes stadig som forventet.
NotificationListenerService og ConditionProviderService understøttes ikke på Android-drevne enheder med lav ram, der returnerer true, når ActivityManager.isLowRamDevice() kaldes.
Forbedret målretning for enheder med lav RAM
Android 8.1 (API-niveau 27) føjer to nye hardwarefunktionskonstanter, FEATURE_RAM_LOW og FEATURE_RAM_NORMAL, til Package Manager. Disse konstanter giver dig mulighed for at målrette fordelingen af dine apps og APK-opdelinger til normal- eller lav-RAM-enheder.
Disse konstanter gør det muligt for Play Butik at fremme en bedre brugeroplevelse ved at fremhæve apps, der er særligt velegnede til en given enheds muligheder.
Autofill-rammeopdateringer
Android 8.1 Developer Preview (API-niveau 27) giver adskillige forbedringer til Autofill Framework, som du kan inkorporere i dine apps.
Udvikler-forhåndsvisningen tilføjer understøttelse af brugerdefinerede beskrivelser, som Android-systemet viser i autofill-gem UI i stedet for den originale repræsentation af dataene. Dette er f.eks. nyttigt, når du vil maskere et kreditkortnummer og kun vise de sidste fire cifre. For at lære mere, se CustomDescription-klassen.
Udvikler-forhåndsvisningen giver dig mulighed for at angive et valideringsobjekt, som din app kan bruge til at beslutte, om Android-systemet skal vise autofill-gem UI. Denne funktionalitet leveres af metoden setValidator() i klassen SaveInfo.Builder.
BaseAdapter-klassen i Developer Preview inkluderer metoden setAutofillOptions(), som giver dig mulighed for at levere strengrepræsentationer af værdierne i en adapter. Dette er nyttigt for spinner-kontroller, der dynamisk genererer værdierne i deres adaptere. For eksempel kan du bruge thesetAutofillOptions()-metoden til at give en strengrepræsentation af listen over år, som brugerne kan vælge som en del af et kreditkorts udløbsdato. Autofyld-tjenester kan bruge strengrepræsentationen til korrekt at udfylde de visninger, der kræver dataene.
Derudover inkluderer AutofillManager-klassen notifyViewVisibilityChanged(View, int, boolean)-metoden, som du kan kalde for at underrette rammen om ændringer i synligheden af en visning i en virtuel struktur. Der er også en overbelastning af metoden til ikke-virtuelle strukturer. Ikke-virtuelle strukturer kræver dog normalt ikke, at du udtrykkeligt giver rammen besked, fordi metoden allerede kaldes af View-klassen.
EditText opdatering
Fra og med API-niveau 27 returnerer EditText.getText() metoden en Editable; tidligere returnerede den en CharSequence. Denne ændring er bagudkompatibel, da Editable implementerer CharSequence.
Den redigerbare grænseflade giver værdifuld yderligere funktionalitet. For eksempel, fordi Editable også implementerer Spannable-grænsefladen, kan du anvende markup på indhold i en forekomst af EditText.
Programmatiske Safe Browsing-handlinger
Ved at bruge WebView-implementeringen af Safe Browsing API'en kan din app registrere, når en forekomst af WebView forsøger at navigere til en URL, som Google har klassificeret som en kendt trussel. Som standard viser WebView en interstitiel, som vist i figur 1, der advarer brugeren om den kendte trussel og giver dem mulighed for at indlæse URL'en alligevel eller vende tilbage til en tidligere side, der er sikker.
I Android 8.1 Developer Preview kan du definere programmæssigt, hvordan din app reagerer på en kendt trussel:
Du kan kontrollere, om din app rapporterer kendte trusler mod Safe Browsing.
Du kan få din app til automatisk at udføre en bestemt handling - såsom at gå tilbage til sikkerheden - hver gang den støder på en URL, som Beskyttet browsing klassificerer som en kendt trussel.
Bemærk: For optimal beskyttelse mod kendte trusler skal du vente, indtil du har initialiseret Safe Browsing, før du påberåber et WebView-objekts loadUrl()-metode.
Udtrækker til videominiaturebilleder
MediaMetadataRetriever-klassen har en ny metode, getScaledFrameAtTime(), der finder en ramme nær en given tidsposition og returnerer en bitmap med samme billedformat som kilderammen, men skaleret til at passe ind i et rektangel med given bredde og højde. Dette er nyttigt til at generere miniaturebilleder fra video.
Vi anbefaler at bruge denne metode i stedet for getFrameAtTime(), som kan spilde hukommelse, fordi den returnerer en bitmap med samme opløsning som kildevideoen. For eksempel ville en ramme fra en 4K-video være en 16 MB bitmap, langt større end du har brug for til et miniaturebillede.
Delt hukommelse API
Android 8.1 (API niveau 27) introducerer en ny SharedMemory-klasse. Denne klasse giver dig mulighed for at oprette, kortlægge og administrere anonym delt hukommelse, der kan bruges af flere processer eller apps.
WallpaperColors API
Android 8.1 Developer Preview (API-niveau 27) tilføjer understøttelse til styring af tapetfarver. Denne funktion lader dig oprette et WallpaperColors-objekt ud fra en bitmap, en tegnebar eller ved at bruge de første tre mest visuelt repræsentative farver. Du kan også hente detaljer om de første tre mærkbare farver på et tapet.
For at oprette et WallpaperColors-objekt skal du gøre et af følgende:
For at oprette et WallpaperColors-objekt ved at bruge tre farver, skal du oprette en forekomst af WallpaperColors-klassen ved at videregive den primære, den sekundære og den tertiære farve. Den primære farve må ikke være nul.
For at oprette et WallpaperColors-objekt fra en bitmap skal du kalde fromBitmap()-metoden ved at sende bitmapkilden som parameter.
For at oprette et WallpaperColors-objekt fra en drawable skal du kalde fromDrawable()-metoden ved at sende den drawable source som parameter.
For at hente de primære, sekundære eller tertiære farvedetaljer fra tapetet skal du kalde følgende metoder:
getPrimaryColor() returnerer den mest bemærkelsesværdige farve på tapetet.
getSecondaryColor() returnerer den næstmest fremtrædende farve på tapetet.
getTertiaryColor() metoden returnerer den tredje mest fremtrædende farve på tapetet
For at underrette systemet om væsentlige farveændringer skal du kalde notifyColorsChanged()-metoden. Denne metode udløser en onComputeColors()-livscyklushændelse, hvor du har mulighed for at levere et nyt WallpaperColors-objekt.
For at tilføje en lytter til farveændringer kan du kalde addOnColorsChangedListener() metoden. Du kan også kalde metoden getWallpaperColors() for at hente de primære farver på et tapet.
Fingeraftryksopdateringer
FingerprintManager-klassen har introduceret følgende fejlkoder:
FINGERPRINT_ERROR_LOCKOUT_PERMANENT - Brugeren har forsøgt for mange gange at låse sin enhed op ved hjælp af fingeraftrykslæseren.
FINGERPRINT_ERROR_VENDOR - Der opstod en leverandørspecifik fingeraftrykslæserfejl.