| Vrsta datoteke | APK |
|---|---|
| Verzija | Preview |
| Izdavač | |
| Datum izlaska | 25. lis 2017. |
| Datum dodan | 25. lis 2017. |
| Os zahtjevi | Android |
| Zahtjevi | Only compatible with the Nexus 5X, Nexus 6P, Pixel C, Pixel, Pixel XL, Pixel 2, and Pixel 2 XL. |
| Ukupno preuzimanja | 1.002 |
| Preuzimanja tjedno | 8 |
| Cijena | Free |
Opis
Android O uvodi niz novih značajki i mogućnosti za korisnike i programere. Ovaj dokument ističe što je novo za programere.
Obavezno provjerite Android O promjene ponašanja kako biste saznali o područjima gdje promjene platforme mogu utjecati na vaše aplikacije.
API za neuronske mreže
Neural Networks API (NNAPI) pruža aplikacijama hardversko ubrzanje za operacije strojnog učenja na uređaju. API podržava stvaranje, kompilaciju i izvođenje modela na uređaju. Aplikacije obično ne koriste izravno NNAPI; umjesto toga, NNAPI bi trebao biti pozvan od strane biblioteka za strojno učenje, okvira i alata koji programerima omogućuju treniranje njihovih modela i njihovu implementaciju na Android uređaje.
Da biste saznali više o API-ju za neuronske mreže, pogledajte referentne dokumente za API za neuronske mreže i Vodič za razvojne programere API-ja za neuronske mreže.
Obavijesti
Android 8.1 Developer Preview 1 uključuje sljedeće promjene obavijesti:
Aplikacije sada mogu emitirati zvuk upozorenja samo jednom u sekundi. Zvukovi upozorenja koji premašuju ovu brzinu ne stavljaju se u čekanje i gube se. Ova promjena ne utječe na druge aspekte ponašanja obavijesti i poruke obavijesti i dalje se objavljuju prema očekivanjima.
NotificationListenerService i ConditionProviderService nisu podržani na Android uređajima s malo RAM-a koji vraćaju true kada se pozove ActivityManager.isLowRamDevice().
Poboljšano ciljanje za uređaje s malo RAM-a
Android 8.1 (API razina 27) dodaje dvije nove konstante hardverskih značajki, FEATURE_RAM_LOW i FEATURE_RAM_NORMAL, u Package Manager. Ove vam konstante omogućuju ciljanu distribuciju vaših aplikacija i APK-ova na uređaje s normalnim ili niskim RAM-om.
Ove konstante omogućuju Trgovini Play promicanje boljeg korisničkog iskustva isticanjem aplikacija koje su posebno prilagođene mogućnostima određenog uređaja.
Ažuriranja okvira za automatsko popunjavanje
Android 8.1 Developer Preview (API razina 27) pruža nekoliko poboljšanja okvira za automatsko popunjavanje koje možete ugraditi u svoje aplikacije.
Developer Preview dodaje podršku za prilagođene opise koje sustav Android prikazuje u korisničkom sučelju za spremanje automatskog popunjavanja umjesto izvornog prikaza podataka. Ovo je korisno, na primjer, kada želite maskirati broj kreditne kartice i prikazati samo zadnje četiri znamenke. Da biste saznali više, pogledajte klasu CustomDescription.
Pregled razvojnog programera omogućuje vam da odredite objekt Validatora koji vaša aplikacija može koristiti da odluči treba li sustav Android prikazati korisničko sučelje za spremanje automatskog popunjavanja. Ovu funkcionalnost pruža metoda setValidator() klase SaveInfo.Builder.
Klasa BaseAdapter u pregledu za razvojne programere uključuje metodu setAutofillOptions(), koja vam omogućuje pružanje znakovnih prikaza vrijednosti u adapteru. Ovo je korisno za kontrole spinnera koje dinamički generiraju vrijednosti u svojim adapterima. Na primjer, možete upotrijebiti metodu setAutofillOptions() za prikaz niza popisa godina koje korisnici mogu odabrati kao dio datuma isteka kreditne kartice. Usluge automatskog popunjavanja mogu koristiti prikaz niza za odgovarajuće popunjavanje prikaza koji zahtijevaju podatke.
Dodatno, klasa AutofillManager uključuje metodu notifyViewVisibilityChanged(View, int, boolean) koju možete pozvati da biste obavijestili okvir o promjenama u vidljivosti pogleda u virtualnoj strukturi. Također postoji preopterećenje metode za nevirtualne strukture. Međutim, nevirtualne strukture obično ne zahtijevaju da izričito obavijestite okvir jer je metoda već pozvana od strane klase View.
Ažuriranje EditText
Počevši od API razine 27, metoda EditText.getText() vraća Editable; prethodno je vratio CharSequence. Ova je promjena kompatibilna s prethodnim verzijama jer Editable implementira CharSequence.
Sučelje koje se može uređivati pruža vrijedne dodatne funkcije. Na primjer, budući da Editable također implementira Spannable sučelje, možete primijeniti oznake na sadržaj unutar instance EditText.
Programske radnje sigurnog pregledavanja
Upotrebom implementacije WebView API-ja za sigurno pregledavanje, vaša aplikacija može detektirati kada instanca WebViewa pokuša prijeći na URL koji je Google klasificirao kao poznatu prijetnju. Prema zadanim postavkama WebView prikazuje međuprostor, kao što je prikazano na slici 1, upozoravajući korisnika na poznatu prijetnju i dajući mu opciju da ipak učita URL ili se vrati na prethodnu stranicu koja je sigurna.
U Android 8.1 Developer Preview možete programski definirati kako vaša aplikacija reagira na poznatu prijetnju:
Možete kontrolirati hoće li vaša aplikacija izvješćivati o poznatim prijetnjama Sigurnom pregledavanju.
Možete podesiti svoju aplikaciju da automatski izvrši određenu radnju - kao što je povratak na sigurno - svaki put kada naiđe na URL koji Sigurno pregledavanje klasificira kao poznatu prijetnju.
Napomena: Za optimalnu zaštitu od poznatih prijetnji pričekajte dok ne pokrenete Sigurno pregledavanje prije nego što pozovete metodu loadUrl() objekta WebView.
Ekstrakt sličica videozapisa
Klasa MediaMetadataRetriever ima novu metodu, getScaledFrameAtTime(), koja pronalazi okvir blizu zadane vremenske pozicije i vraća bitmapu s istim omjerom širine i visine kao izvorni okvir, ali skaliranu da stane u pravokutnik zadane širine i visine. Ovo je korisno za generiranje minijatura iz videa.
Preporučujemo korištenje ove metode umjesto getFrameAtTime() koja može gubiti memoriju jer vraća bitmapu iste razlučivosti kao izvorni video. Na primjer, okvir iz 4K videa bio bi bitmapa od 16 MB, daleko veća nego što bi vam trebala za sličicu.
API za dijeljenu memoriju
Android 8.1 (API razina 27) uvodi novu klasu SharedMemory. Ova vam klasa omogućuje stvaranje, mapiranje i upravljanje anonimnom dijeljenom memorijom koju može koristiti više procesa ili aplikacija.
WallpaperColors API
Android 8.1 Developer Preview (API razina 27) dodaje podršku za upravljanje bojama pozadine. Ova vam značajka omogućuje stvaranje objekta WallpaperColors iz bitmape, crteža ili korištenjem prve tri vizualno najreprezentativnije boje. Također možete dohvatiti pojedinosti o prve tri uočljive boje pozadine.
Da biste stvorili objekt WallpaperColors, učinite jedno od sljedećeg:
Da biste stvorili objekt WallpaperColors pomoću tri boje, stvorite instancu klase WallpaperColors prosljeđivanjem primarne, sekundarne i tercijarne boje. Primarna boja ne smije biti nula.
Da biste stvorili objekt WallpaperColors iz bitmape, pozovite metodu fromBitmap() prosljeđivanjem izvora bitmape kao parametra.
Da biste stvorili objekt WallpaperColors iz nacrtanog, pozovite metodu fromDrawable() prosljeđivanjem nacrtanog izvora kao parametra.
Za dohvaćanje primarnih, sekundarnih ili tercijarnih detalja o boji s pozadine pozovite sljedeće metode:
getPrimaryColor() vraća najuočljiviju boju pozadine.
getSecondaryColor() vraća drugu najistaknutiju boju pozadine.
metoda getTertiaryColor() vraća treću najistaknutiju boju pozadine
Da biste obavijestili sustav o bilo kakvim značajnim promjenama boje, pozovite metodu notifyColorsChanged(). Ova metoda pokreće događaj životnog ciklusa onComputeColors() gdje imate priliku dati novi objekt WallpaperColors.
Za dodavanje slušača za promjene boja, možete pozvati metodu addOnColorsChangedListener(). Također možete pozvati metodu getWallpaperColors() da dohvatite primarne boje pozadine.
Ažuriranja otiska prsta
Klasa FingerprintManager uvela je sljedeće kodove grešaka:
FINGERPRINT_ERROR_LOCKOUT_PERMANENT - Korisnik je previše puta pokušao otključati svoj uređaj pomoću čitača otiska prsta.
FINGERPRINT_ERROR_VENDOR - Dogodila se pogreška čitača otiska prsta specifičnog dobavljača.