| Тип на датотека | APK |
|---|---|
| Верзија | Preview |
| Издавач | |
| Датум на издавање | 25.10.2017 |
| Датум на додавање | 25.10.2017 |
| Барања за ОС | Android |
| Барања | Only compatible with the Nexus 5X, Nexus 6P, Pixel C, Pixel, Pixel XL, Pixel 2, and Pixel 2 XL. |
| Вкупно преземања | 1.002 |
| Преземања неделно | 8 |
| Цена | Free |
Опис
Android O воведува различни нови функции и можности за корисниците и програмерите. Овој документ го нагласува она што е ново за програмерите.
Проверете ги промените во однесувањето на Android O за да дознаете за областите каде што промените на платформата може да влијаат на вашите апликации.
API за невронски мрежи
АПИ на невронски мрежи (NNAPI) обезбедува апликации со хардверско забрзување за операции за машинско учење на уредот. API поддржува креирање, компилација и извршување на модели на уредот. Апликациите обично не користат директно NNAPI; наместо тоа, NNAPI треба да се повикува со библиотеки, рамки и алатки за машинско учење кои им дозволуваат на програмерите да ги обучуваат нивните модели и да ги распоредат на уредите со Android.
За да дознаете повеќе за API на невронски мрежи, видете ги референтните документи на API на невронски мрежи и упатството за развивачи на API на невронски мрежи.
Известувања
Андроид 8.1 Преглед на програмери 1 ги вклучува следните промени во известувањата:
Апликациите сега можат да испуштаат звук за известување само еднаш во секунда. Звуците за предупредување што ја надминуваат оваа стапка не се редат и се губат. Оваа промена не влијае на другите аспекти на однесувањето на известувањата и пораките за известување сè уште се објавуваат како што се очекуваше.
NotificationListenerService и ConditionProviderService не се поддржани на уреди напојувани со Android со ниска рамнина и кои се враќаат true кога ќе се повикаActivityManager.isLowRamDevice().
Подобрено таргетирање за уреди со ниска RAM меморија
Андроид 8.1 (ниво на API 27) додава две нови константи на хардверски карактеристики, FEATURE_RAM_LOW и FEATURE_RAM_NORMAL, во Управникот со пакети. Овие константи ви дозволуваат да ја насочите дистрибуцијата на вашите апликации и поделбите на АПК на уреди со нормална или ниска RAM меморија.
Овие константи ѝ овозможуваат на продавницата на Play да промовира подобро корисничко искуство со истакнување на апликации особено добро прилагодени на можностите на даден уред.
Автоматско пополнување ажурирања на рамката
Android 8.1 Developer Preview (API ниво 27) обезбедува неколку подобрувања на рамката за автоматско пополнување што може да ги вклучите во вашите апликации.
Прегледот на програмерите додава поддршка за приспособени описи што системот Андроид ги прикажува во интерфејсот за автоматско пополнување за зачувување наместо оригиналното претставување на податоците. Ова е корисно, на пример, кога сакате да маскирате број на кредитна картичка и да ги прикажете само последните четири цифри. За да дознаете повеќе, видете ја класата CustomDescription.
Прегледот на програмерите ви овозможува да одредите објект Validator што вашата апликација може да го користи за да одлучи дали системот Android треба да го прикаже интерфејсот за автоматско пополнување зачувување. Оваа функционалност е обезбедена со методот setValidator() од класата SaveInfo.Builder.
Класата BaseAdapter во Developer Preview го вклучува методот setAutofillOptions(), кој ви овозможува да обезбедите репрезентации на низа на вредностите во адаптерот. Ова е корисно за спиннер контроли кои динамички ги генерираат вредностите во нивните адаптери. На пример, можете да го користите методот thesetAutofillOptions() за да обезбедите низа претставување на листата на години што корисниците можат да ги изберат како дел од датумот на истекување на кредитната картичка. Услугите за автоматско пополнување може да го користат претставувањето на низата за соодветно да ги пополнат приказите за кои се потребни податоци.
Дополнително, класата AutofillManager го вклучува методот notifyViewVisibilityChanged(View, int, boolean) што можете да го повикате за да ја известите рамката за промените во видливоста на приказот во виртуелна структура. Исто така, постои преоптоварување на методот за невиртуелни структури. Сепак, невиртуелните структури обично не бараат од вас експлицитно да ја известите рамката бидејќи методот е веќе повикан од класата View.
Ажурирање на EditText
Почнувајќи од нивото 27 на API, методот EditText.getText() враќа уредување; претходно враќаше CharSequence. Оваа промена е компатибилна со наназад, бидејќи Editable имплементира CharSequence.
Интерфејсот за уредување обезбедува вредна дополнителна функционалност. На пример, бидејќи Editable го имплементира и Spannable интерфејсот, можете да примените ознака на содржината во инстанца на EditText.
Програмски дејства за безбедно прелистување
Со користење на имплементацијата на WebView на API-то за безбедно прелистување, вашата апликација може да открие кога примерок од WebView се обидува да се движи до URL-адреса што Google ја класифицира како позната закана. Стандардно, WebView прикажува интерстицијал, како што е прикажано на Слика 1, предупредувајќи го корисникот за познатата закана и давајќи му опција да ја вчита URL-то сепак или да се врати на претходната страница што е безбедна.
Во Android 8.1 Developer Preview, можете програмски да дефинирате како вашата апликација реагира на позната закана:
Може да контролирате дали вашата апликација известува за познати закани за безбедно прелистување.
Може да ја натерате вашата апликација автоматски да изврши одредено дејство -- како што е враќање на безбедноста -- секој пат кога ќе наиде на URL што „Безбедното прелистување“ го класифицира како позната закана.
Забелешка: за оптимална заштита од познати закани, почекајте додека не го иницијализирате безбедното прелистување пред да го повикате методот loadUrl() на објектот WebView.
Извлекувач на сликички за видео
Класата MediaMetadataRetriever има нов метод, getScaledFrameAtTime(), кој наоѓа рамка во близина на дадена временска позиција и враќа битмапа со ист сооднос како и изворната рамка, но намалена за да се вклопи во правоаголник со дадена ширина и висина. Ова е корисно за генерирање сликички од видеото.
Препорачуваме да го користите овој метод наместо getFrameAtTime() кој може да ја троши меморијата бидејќи враќа битмапа со иста резолуција како изворното видео. На пример, рамка од 4K видео би била битмапа од 16 MB, многу поголема отколку што ви треба за сликичка.
API за споделена меморија
Android 8.1 (API ниво 27) воведува нова класа SharedMemory. Оваа класа ви овозможува да креирате, мапирате и управувате со анонимна споделена меморија што може да се користи од повеќе процеси или апликации.
WallpaperColors API
Android 8.1 Developer Preview (API ниво 27) додава поддршка за управување со боите на тапетите. Оваа функција ви овозможува да креирате објект WallpaperColors од битмапа, цртање или со користење на првите три визуелно најрепрезентативни бои. Можете исто така да вратите детали за првите три забележливи бои на тапет.
За да креирате објект WallpaperColors, направете едно од следново:
За да креирате објект WallpaperColors со користење на три бои, креирајте примерок од класата WallpaperColors со предавање на примарната, секундарната и терциерната боја. Примарната боја не смее да биде нула.
За да креирате објект WallpaperColors од битмапа, повикајте го методот fromBitmap() со предавање на изворот на битмапа како параметар.
За да креирате објект WallpaperColors од цртеж, повикајте го методот fromDrawable() со предавање на изворот за цртање како параметар.
За да ги вратите основните, секундарните или терциерните детали за бојата од тапетот, повикајте ги следниве методи:
getPrimaryColor() ја враќа најзабележливата боја на тапетот.
getSecondaryColor() ја враќа втората најистакната боја на тапетот.
Методот getTertiaryColor() ја враќа третата најистакната боја на тапетот
За да го известите системот за какви било значајни промени во бојата, повикајте го методот notifyColorsChanged(). Овој метод активира настан на животниот циклус onComputeColors() каде што имате можност да обезбедите нов објект WallpaperColors.
За да додадете слушател за промени во боја, можете да го повикате методот addOnColorsChangedListener(). Можете исто така да го повикате методот getWallpaperColors() за да ги вратите основните бои на тапет.
Ажурирања за отпечатоци од прсти
Класата FingerprintManager ги воведе следниве кодови за грешка:
FINGERPRINT_ERROR_LOCKOUT_PERMANENT - Корисникот се обидел премногу пати да го отклучи својот уред користејќи читач за отпечатоци.
FINGERPRINT_ERROR_VENDOR - Настана грешка во читачот на отпечаток од прст специфична за продавачот.