| Tipo di file | APK |
|---|---|
| Versione | Preview |
| Editore | |
| Data di rilascio | 25 ott 2017 |
| Data aggiunta | 25 ott 2017 |
| Requisiti del sistema operativo | Android |
| Requisiti | Only compatible with the Nexus 5X, Nexus 6P, Pixel C, Pixel, Pixel XL, Pixel 2, and Pixel 2 XL. |
| Download totali | 1.002 |
| Download a settimana | 8 |
| Prezzo | Free |
Descrizione
Android O introduce una serie di nuove funzionalità e funzionalità per utenti e sviluppatori. Questo documento evidenzia le novità per gli sviluppatori.
Assicurati di controllare le modifiche al comportamento di Android O per conoscere le aree in cui le modifiche alla piattaforma possono influire sulle tue app.
API delle reti neurali
L'API Neural Networks (NNAPI) fornisce app con accelerazione hardware per operazioni di machine learning sul dispositivo. L'API supporta la creazione, la compilazione e l'esecuzione di modelli sul dispositivo. Le app in genere non utilizzano direttamente NNAPI; invece, NNAPI è pensato per essere chiamato da librerie, framework e strumenti di machine learning che consentono agli sviluppatori di addestrare i loro modelli e distribuirli su dispositivi Android.
Per ulteriori informazioni sull'API delle reti neurali, consulta i documenti di riferimento dell'API delle reti neurali e la guida per gli sviluppatori dell'API delle reti neurali.
Notifiche
Android 8.1 Developer Preview 1 include le seguenti modifiche alle notifiche:
Le app ora possono emettere un avviso di notifica solo una volta al secondo. I suoni di avviso che superano questa frequenza non vengono messi in coda e vengono persi. Questa modifica non influisce su altri aspetti del comportamento delle notifiche e i messaggi di notifica continuano a essere pubblicati come previsto.
NotificationListenerService e ConditionProviderService non sono supportati su dispositivi Android con RAM ridotta che restituiscono true quando viene chiamatoActivityManager.isLowRamDevice().
Targeting migliorato per dispositivi con poca RAM
Android 8.1 (API livello 27) aggiunge due nuove costanti di funzionalità hardware, FEATURE_RAM_LOW e FEATURE_RAM_NORMAL, a Package Manager. Queste costanti ti consentono di indirizzare la distribuzione delle tue app e delle suddivisioni APK a dispositivi con RAM normale o bassa.
Queste costanti consentono al Play Store di promuovere una migliore esperienza utente mettendo in evidenza le app particolarmente adatte alle capacità di un determinato dispositivo.
Aggiornamenti del framework di riempimento automatico
L'anteprima per sviluppatori Android 8.1 (livello API 27) offre numerosi miglioramenti al framework di riempimento automatico che puoi incorporare nelle tue app.
L'anteprima per gli sviluppatori aggiunge il supporto per le descrizioni personalizzate che il sistema Android mostra nell'interfaccia utente di salvataggio della compilazione automatica invece della rappresentazione originale dei dati. Ciò è utile, ad esempio, quando si desidera mascherare il numero di una carta di credito e visualizzare solo le ultime quattro cifre. Per ulteriori informazioni, vedere la classe CustomDescription.
L'anteprima sviluppatore ti consente di specificare un oggetto Validator che la tua app può utilizzare per decidere se il sistema Android deve mostrare l'interfaccia utente di salvataggio del riempimento automatico. Questa funzionalità è fornita dal metodo setValidator() della classe SaveInfo.Builder.
La classe BaseAdapter nell'anteprima per sviluppatori include il metodo setAutofillOptions(), che consente di fornire rappresentazioni di stringa dei valori in un adattatore. Ciò è utile per i controlli di selezione che generano dinamicamente i valori nei loro adattatori. Ad esempio, puoi utilizzare il metodo setAutofillOptions() per fornire una rappresentazione in formato stringa dell'elenco di anni che gli utenti possono scegliere come parte della data di scadenza di una carta di credito. I servizi di riempimento automatico possono utilizzare la rappresentazione di stringa per compilare in modo appropriato le viste che richiedono i dati.
Inoltre, la classe AutofillManager include il metodo notificationViewVisibilityChanged(View, int, boolean) che puoi chiamare per notificare al framework le modifiche alla visibilità di una vista in una struttura virtuale. C'è anche un sovraccarico del metodo per le strutture non virtuali. Tuttavia, le strutture non virtuali in genere non richiedono la notifica esplicita del framework perché il metodo è già chiamato dalla classe View.
Modifica testo aggiornamento
A partire dal livello API 27, il metodo EditText.getText() restituisce un Editable; in precedenza ha restituito un CharSequence. Questa modifica è compatibile con le versioni precedenti, poiché Editable implementa CharSequence.
L'interfaccia modificabile fornisce preziose funzionalità aggiuntive. Ad esempio, poiché Editable implementa anche l'interfaccia Spannable, puoi applicare il markup al contenuto all'interno di un'istanza di EditText.
Azioni di Navigazione sicura programmatica
Utilizzando l'implementazione WebView dell'API Navigazione sicura, la tua app può rilevare quando un'istanza di WebView tenta di accedere a un URL che Google ha classificato come una minaccia nota. Per impostazione predefinita, WebView mostra un interstitial, come mostrato nella Figura 1, che avverte l'utente della minaccia nota e dà loro la possibilità di caricare comunque l'URL o di tornare a una pagina precedente sicura.
In Android 8.1 Developer Preview, puoi definire a livello di codice come la tua app risponde a una minaccia nota:
Puoi controllare se la tua app segnala minacce note a Navigazione sicura.
Puoi fare in modo che la tua app esegua automaticamente un'azione particolare, ad esempio tornare in sicurezza, ogni volta che incontra un URL che Navigazione sicura classifica come una minaccia nota.
Nota: per una protezione ottimale contro le minacce note, attendere di aver inizializzato Navigazione sicura prima di richiamare il metodo loadUrl() di un oggetto WebView.
Estrattore di miniature dei video
La classe MediaMetadataRetriever ha un nuovo metodo, getScaledFrameAtTime(), che trova un fotogramma vicino a una determinata posizione temporale e restituisce una bitmap con le stesse proporzioni del fotogramma di origine, ma ridimensionato per adattarsi a un rettangolo di larghezza e altezza specificate. Questo è utile per generare immagini in miniatura dal video.
Si consiglia di utilizzare questo metodo anziché getFrameAtTime() che può sprecare memoria perché restituisce una bitmap con la stessa risoluzione del video sorgente. Ad esempio, un fotogramma di un video 4K sarebbe una bitmap da 16 MB, molto più grande di quanto sarebbe necessario per un'immagine in miniatura.
API di memoria condivisa
Android 8.1 (livello API 27) introduce una nuova classe SharedMemory. Questa classe consente di creare, mappare e gestire la memoria condivisa anonima che può essere utilizzata da più processi o app.
API WallpaperColors
Android 8.1 Developer Preview (livello API 27) aggiunge il supporto per la gestione dei colori dello sfondo. Questa funzione ti consente di creare un oggetto WallpaperColors da una bitmap, un drawable o utilizzando i primi tre colori visivamente più rappresentativi. Puoi anche recuperare i dettagli dei primi tre colori visibili di uno sfondo.
Per creare un oggetto WallpaperColors, effettuare una delle seguenti operazioni:
Per creare un oggetto WallpaperColors utilizzando tre colori, crea un'istanza della classe WallpaperColors passando il colore primario, secondario e terziario. Il colore primario non deve essere nullo.
Per creare un oggetto WallpaperColors da una bitmap, chiama il metodo fromBitmap() passando l'origine bitmap come parametro.
Per creare un oggetto WallpaperColors da un drawable, chiama il metodo fromDrawable() passando l'origine del drawable come parametro.
Per recuperare i dettagli del colore primario, secondario o terziario dallo sfondo, chiama i seguenti metodi:
getPrimaryColor() restituisce il colore più evidente dello sfondo.
getSecondaryColor() restituisce il secondo colore più preminente dello sfondo.
getTertiaryColor() restituisce il terzo colore più preminente dello sfondo
Per notificare al sistema qualsiasi modifica significativa del colore, chiamare il metodo notificationColorsChanged(). Questo metodo attiva un evento onComputeColors() del ciclo di vita in cui hai l'opportunità di fornire un nuovo oggetto WallpaperColors.
Per aggiungere un listener per le modifiche ai colori, puoi chiamare il metodo addOnColorsChangedListener(). Puoi anche chiamare il metodo getWallpaperColors() per recuperare i colori primari di uno sfondo.
Aggiornamenti delle impronte digitali
La classe FingerprintManager ha introdotto i seguenti codici di errore:
FINGERPRINT_ERROR_LOCKOUT_PERMANENT - L'utente ha tentato troppe volte di sbloccare il proprio dispositivo utilizzando il lettore di impronte digitali.
FINGERPRINT_ERROR_VENDOR - Si è verificato un errore del lettore di impronte digitali specifico del fornitore.