| Bestandstype | APK |
|---|---|
| Versie | Preview |
| Uitgever | |
| Datum van publicatie | 25 okt 2017 |
| Datum toegevoegd | 25 okt 2017 |
| OS-vereisten | Android |
| Voorwaarden | Only compatible with the Nexus 5X, Nexus 6P, Pixel C, Pixel, Pixel XL, Pixel 2, and Pixel 2 XL. |
| Totaal aantal downloads | 1.002 |
| Downloads per week | 8 |
| Prijs | Free |
Omschrijving
Android O introduceert een groot aantal nieuwe functies en mogelijkheden voor gebruikers en ontwikkelaars. Dit document laat zien wat er nieuw is voor ontwikkelaars.
Zorg ervoor dat u Android O-gedragswijzigingen bekijkt om meer te weten te komen over gebieden waar platformwijzigingen van invloed kunnen zijn op uw apps.
Neurale netwerken API
De Neural Networks API (NNAPI) biedt apps hardwareversnelling voor machine learning-bewerkingen op het apparaat. De API ondersteunt het maken, compileren en uitvoeren van modellen op het apparaat. Apps gebruiken NNAPI meestal niet rechtstreeks; in plaats daarvan is NNAPI bedoeld om te worden aangeroepen door bibliotheken, frameworks en tools voor machine learning waarmee ontwikkelaars hun modellen kunnen trainen en op Android-apparaten kunnen implementeren.
Zie de Neural Networks API-referentiedocumenten en de Neural Networks API-ontwikkelaarsgids voor meer informatie over de Neural Networks API.
Meldingen
Android 8.1 Developer Preview 1 bevat de volgende wijzigingen in meldingen:
Apps kunnen nu nog maar één keer per seconde een meldingssignaal laten klinken. Waarschuwingsgeluiden die deze snelheid overschrijden, worden niet in de wachtrij geplaatst en gaan verloren. Deze wijziging heeft geen invloed op andere aspecten van het meldingsgedrag en meldingsberichten worden nog steeds gepost zoals verwacht.
NotificationListenerService en ConditionProviderService worden niet ondersteund op Android-apparaten met weinig ram die true retourneren wanneerActivityManager.isLowRamDevice() wordt aangeroepen.
Verbeterde targeting voor apparaten met weinig RAM
Android 8.1 (API-niveau 27) voegt twee nieuwe constanten voor hardwarefuncties, FEATURE_RAM_LOW en FEATURE_RAM_NORMAL, toe aan Package Manager. Met deze constanten kunt u de distributie van uw apps en APK-splitsingen richten op apparaten met een normaal of laag RAM-geheugen.
Met deze constanten kan de Play Store een betere gebruikerservaring promoten door apps te markeren die bijzonder geschikt zijn voor de mogelijkheden van een bepaald apparaat.
Kaderupdates voor automatisch aanvullen
Android 8.1 Developer Preview (API-niveau 27) biedt verschillende verbeteringen aan het Autofill Framework die u in uw apps kunt opnemen.
De Developer Preview voegt ondersteuning toe voor aangepaste beschrijvingen die het Android-systeem toont in de gebruikersinterface voor automatisch aanvullen opslaan in plaats van de oorspronkelijke weergave van de gegevens. Dit is bijvoorbeeld handig wanneer u een creditcardnummer wilt maskeren en alleen de laatste vier cijfers wilt weergeven. Zie de klasse CustomDescription voor meer informatie.
Met de Developer Preview kunt u een Validator-object specificeren dat uw app kan gebruiken om te beslissen of het Android-systeem de gebruikersinterface voor automatisch aanvullen opslaan moet weergeven. Deze functionaliteit wordt geleverd door de methode setValidator() van de klasse SaveInfo.Builder.
De klasse BaseAdapter in de Developer Preview bevat de methode setAutofillOptions() waarmee u tekenreeksrepresentaties kunt geven van de waarden in een adapter. Dit is handig voor spinnerbesturingselementen die dynamisch de waarden in hun adapters genereren. U kunt bijvoorbeeld de methode thesetAutofillOptions() gebruiken om een tekenreeksweergave te geven van de lijst met jaren die de gebruikers kunnen kiezen als onderdeel van de vervaldatum van een creditcard. Services voor automatisch aanvullen kunnen de tekenreeksweergave gebruiken om de weergaven waarvoor de gegevens nodig zijn, op de juiste manier in te vullen.
Bovendien bevat de klasse AutofillManager de methode notificationViewVisibilityChanged(View, int, boolean) die u kunt aanroepen om het framework op de hoogte te stellen van wijzigingen in de zichtbaarheid van een view in een virtuele structuur. Er is ook een overbelasting van de methode voor niet-virtuele structuren. Voor niet-virtuele structuren is het echter meestal niet nodig om het framework expliciet op de hoogte te stellen, omdat de methode al wordt aangeroepen door de klasse View.
EditText-update
Vanaf API-niveau 27 retourneert de methode EditText.getText() een bewerkbaar; eerder keerde het een CharSequence terug. Deze wijziging is achterwaarts compatibel, aangezien Editable CharSequence implementeert.
De bewerkbare interface biedt waardevolle extra functionaliteit. Omdat Editable bijvoorbeeld ook de Spannable-interface implementeert, kunt u opmaak toepassen op inhoud binnen een instantie van EditText.
Programmatische Safe Browsing-acties
Door de WebView-implementatie van de Safe Browsing API te gebruiken, kan uw app detecteren wanneer een instantie van WebView probeert te navigeren naar een URL die Google heeft geclassificeerd als een bekende bedreiging. Standaard toont de WebView een interstitial, zoals weergegeven in figuur 1, die de gebruiker waarschuwt voor de bekende dreiging en hem de mogelijkheid geeft om de URL toch te laden of terug te keren naar een vorige pagina die veilig is.
In Android 8.1 Developer Preview kunt u programmatisch definiëren hoe uw app reageert op een bekende bedreiging:
U kunt bepalen of uw app bekende bedreigingen voor Safe Browsing meldt.
U kunt uw app automatisch een bepaalde actie laten uitvoeren, zoals teruggaan naar veiligheid, telkens wanneer deze een URL tegenkomt die Safe Browsing classificeert als een bekende bedreiging.
Opmerking: wacht voor optimale bescherming tegen bekende bedreigingen tot u Safe Browsing hebt geïnitialiseerd voordat u de methode loadUrl() van een WebView-object aanroept.
Extractor voor videominiaturen
De klasse MediaMetadataRetriever heeft een nieuwe methode, getScaledFrameAtTime(), die een frame vindt in de buurt van een bepaalde tijdpositie en een bitmap retourneert met dezelfde hoogte-breedteverhouding als het bronframe, maar geschaald om in een rechthoek met een gegeven breedte en hoogte te passen. Dit is handig voor het genereren van miniatuurafbeeldingen van video.
We raden aan om deze methode te gebruiken in plaats van getFrameAtTime() die geheugen kan verspillen omdat het een bitmap retourneert met dezelfde resolutie als de bronvideo. Een frame van een 4K-video zou bijvoorbeeld een bitmap van 16 MB zijn, veel groter dan je nodig hebt voor een miniatuurafbeelding.
API voor gedeeld geheugen
Android 8.1 (API-niveau 27) introduceert een nieuwe SharedMemory-klasse. Met deze klasse kunt u anoniem gedeeld geheugen maken, in kaart brengen en beheren dat door meerdere processen of apps kan worden gebruikt.
WallpaperColors-API
Android 8.1 Developer Preview (API-niveau 27) voegt ondersteuning toe voor het beheren van achtergrondkleuren. Met deze functie kunt u een WallpaperColors-object maken van een bitmap, een tekenbaar object of door de eerste drie visueel meest representatieve kleuren te gebruiken. U kunt ook details van de eerste drie opvallende kleuren van een achtergrond ophalen.
Voer een van de volgende handelingen uit om een WallpaperColors-object te maken:
Als u een WallpaperColors-object wilt maken met behulp van drie kleuren, maakt u een instantie van de klasse WallpaperColors door de primaire, secundaire en tertiaire kleur door te geven. De primaire kleur mag niet nul zijn.
Om een WallpaperColors-object van een bitmap te maken, roept u de methode fromBitmap() aan door de bitmapbron als parameter door te geven.
Om een WallpaperColors-object van een tekenbaar object te maken, roept u de methode fromDrawable() aan door de tekenbare bron als parameter door te geven.
Om de primaire, secundaire of tertiaire kleurdetails van de achtergrond op te halen, roept u de volgende methoden aan:
getPrimaryColor() retourneert de meest opvallende kleur van de achtergrond.
getSecondaryColor() retourneert de op één na meest vooraanstaande kleur van de achtergrond.
getTertiaryColor() methode retourneert de derde meest vooraanstaande kleur van de achtergrond
Om het systeem op de hoogte te stellen van significante kleurveranderingen, roept u de methode notificationColorsChanged() aan. Deze methode activeert een levenscyclusgebeurtenis onComputeColors() waarbij u de mogelijkheid hebt om een nieuw WallpaperColors-object op te geven.
Als u een listener voor kleurwijzigingen wilt toevoegen, kunt u de methode addOnColorsChangedListener() aanroepen. U kunt ook de methode getWallpaperColors() aanroepen om de primaire kleuren van een achtergrond op te halen.
Vingerafdrukupdates
De klasse FingerprintManager heeft de volgende foutcodes geïntroduceerd:
FINGERPRINT_ERROR_LOCKOUT_PERMANENT - De gebruiker heeft te vaak geprobeerd zijn apparaat te ontgrendelen met de vingerafdruklezer.
FINGERPRINT_ERROR_VENDOR - Er is een leverancierspecifieke fout opgetreden in de vingerafdruklezer.