Condividi tramite


Funzionalità di Nougat

Come iniziare a usare Xamarin.Android per sviluppare app per Android Nougat.

Questo articolo fornisce una descrizione delle funzionalità introdotte in Android Nougat, spiega come preparare Xamarin.Android per lo sviluppo Android Nougat e fornisce collegamenti ad applicazioni di esempio che illustrano come usare le funzionalità Di Android Nougat nelle app Xamarin.Android.

Panoramica

Android Nougat è il followup di Google per Android 6.0 Marshmallow. Xamarin.Android offre supporto per le associazioni Android 7.x in Xamarin Android 7.0 e versioni successive. Android Nougat aggiunge molte nuove API per le funzionalità Nougat descritte di seguito; queste API sono disponibili per le app Xamarin.Android quando si usa Xamarin.Android 7.0.

Immagini hero di tablet Android e telefoni che eseguono Android Nougat

Per altre informazioni sulle API Android 7.x, vedere Informazioni di riferimento sulle API Android. Per un elenco dei problemi noti di Xamarin.Android 7.0, vedere le note sulla versione.

Android Nougat offre molte nuove funzionalità di interesse per gli sviluppatori Xamarin.Android. Queste funzionalità sono:

  • Supporto multi-finestra: questo miglioramento consente agli utenti di aprire due app sullo schermo contemporaneamente.

  • Miglioramenti delle notifiche: il sistema di notifiche riprogettato in Android Nougat include una funzionalità di risposta diretta che consente agli utenti di rispondere rapidamente ai messaggi di testo direttamente dall'interfaccia utente della notifica. Inoltre, se l'app crea notifiche per i messaggi ricevuti, la nuova funzionalità di notifiche in bundle può raggruppare le notifiche come un singolo gruppo quando vengono ricevuti più messaggi.

  • Risparmio dati: questa funzionalità è un nuovo servizio di sistema che consente di ridurre l'uso dei dati cellulari da parte delle app e consente agli utenti di controllare il modo in cui le app usano i dati cellulari.

Inoltre, Android Nougat offre molti altri miglioramenti di interesse per gli sviluppatori di app, ad esempio una nuova funzionalità di configurazione della sicurezza di rete, Doze on the Go, attestazione chiave, nuove API quick Impostazioni, supporto multi-locale, API ICU4J, miglioramenti di WebView, accesso alle funzionalità del linguaggio Java 8, accesso alla directory con ambito, un'API puntatore personalizzata, supporto VR della piattaforma, file virtuali e ottimizzazioni dell'elaborazione in background.

Questo articolo illustra come iniziare a creare app con Android Nougat per provare le nuove funzionalità e pianificare il lavoro di migrazione o funzionalità per la nuova piattaforma Android Nougat.

Requisiti

Di seguito è necessario usare le nuove funzionalità Di Android Nougat nelle app basate su Xamarin:

  • Visual Studio o Visual Studio per Mac: se si usa Visual Studio, è necessaria la versione 4.2.0.628 o successiva di Visual Studio Tools per Xamarin. Se si usa Visual Studio per Mac, è necessaria la versione 6.1.0 o successiva di Visual Studio per Mac.

  • Xamarin.Android: Xamarin.Android 7.0 o versione successiva deve essere installato e configurato con Visual Studio o Visual Studio per Mac.

  • Android SDK - Android SDK 7.0 (API 24) o versione successiva deve essere installato tramite Android SDK Manager.

  • Java Developer Kit : lo sviluppo di Xamarin Android 7.0 richiede JDK 8 o versione successiva se si sviluppa per il livello API 24 o versione successiva (JDK 8 supporta anche i livelli API precedenti a 24). La versione a 64 bit di JDK 8 è necessaria se si usano controlli personalizzati o lo strumento di anteprima dei moduli.

Importante

Xamarin.Android non supporta JDK 9.

Si noti che le app devono essere ricompilate con Xamarin C6SR4 o versioni successive per funzionare in modo affidabile con Android Nougat. Poiché Android Nougat può collegarsi solo a librerie native fornite da NDK, le app esistenti che usano librerie come Mono.Data.Sqlite.dll possono arrestarsi in modo anomalo quando vengono eseguite su Android Nougat se non vengono ricompilate correttamente.

Introduzione

Per iniziare a usare Android Nougat con Xamarin.Android, è necessario scaricare e installare gli strumenti e i pacchetti SDK più recenti prima di creare un progetto Android Nougat:

  1. Installare gli aggiornamenti più recenti di Xamarin.Android da Xamarin.

  2. Installare i pacchetti e gli strumenti Android 7.0 (API 24) o versioni successive.

  3. Creare un nuovo progetto Xamarin.Android destinato ad Android Nougat.

  4. Configurare un emulatore o un dispositivo per Android Nougat.

Ognuno di questi passaggi è illustrato nelle sezioni seguenti:

Installare Xamarin Aggiornamenti

Per aggiungere il supporto di Xamarin per Android Nougat, modificare il canale degli aggiornamenti in Visual Studio o Visual Studio per Mac al canale Stable e applicare gli aggiornamenti più recenti. Se sono necessarie anche funzionalità attualmente disponibili solo nel canale Alpha o Beta, è possibile passare al canale Alfa o Beta (i canali Alfa e Beta forniscono anche il supporto per Android 7.x). Per informazioni su come modificare il canale degli aggiornamenti (versioni), vedere Modifica del canale Aggiornamenti.

Installare Android SDK

Per creare un progetto con Xamarin Android 7.0, è prima necessario usare Android SDK Manager per installare SDK Platform Android N (API 24) o versione successiva. È anche necessario installare la versione più recente di Android SDK Tools:

  1. Avviare Android SDK Manager (in Visual Studio per Mac usare Strumenti > Open Android SDK Manager...; in Visual Studio usare Strumenti > Android > SDK Manager).

  2. Installare Android 7.0 (API 24) o versione successiva:

    Selezione di pacchetti Android 7.0 in Android SDK Manager

  3. Installare gli strumenti più recenti di Android SDK:

    Selezione degli strumenti android SDK più recenti in Android SDK Manager

    È necessario installare Android SDK Tools versione 25.2.2 o successiva, Android SDK Platform Tools 24.0.3 o versione successiva e Android SDK Build Tools 24.0.2 o versione successiva.

  4. Verificare che la posizione di Java Development Kit sia configurata per JDK 1.8:

    Configurazione del percorso JDK 8 in Opzioni strumenti

    Per visualizzare questa impostazione in Visual Studio, fare clic su Strumenti > Opzioni > Xamarin > Android Impostazioni. In Visual Studio per Mac fare clic su Preferenze > Progetti > SDK Percorsi > Android.

Avviare un progetto Xamarin.Android

Creare un nuovo progetto Xamarin.Android. Se non si ha familiarità con lo sviluppo android con Xamarin, vedere Hello, Android per informazioni sulla creazione di progetti Xamarin.Android.

Quando si crea un progetto Android, è necessario configurare le impostazioni della versione per android 7.0 o versione successiva. Ad esempio, per specificare come destinazione il progetto per Android 7.0, è necessario configurare il livello API Android di destinazione del progetto su Android 7.0 (API 24 - Nougat). È consigliabile impostare il livello del framework di destinazione su API 24 o versione successiva. Per altre informazioni sulla configurazione dei livelli di livello API Android, vedere Informazioni sui livelli api Android.

Nota

Attualmente devi impostare la versione minima di Android su Android 7.0 (API 24 - Nougat) per distribuire l'app in dispositivi o emulatori Android Nougat.

Configurare un emulatore o un dispositivo

Se si usa un emulatore, avviare Android AVD Manager e creare un nuovo dispositivo usando le impostazioni seguenti:

  • Dispositivo: Nexus 5X, Nexus 6, Nexus 6P, Nexus Player, Nexus 9 o Pixel C.
  • Destinazione: Android 7.0 - Livello API 24
  • ABI: x86 o x86_64

Ad esempio, questo dispositivo virtuale è configurato per emulare un Nexus 6:

Configurazione di un AVD tramite dispositivo Nexus 6, destinazione Android 7.0 e CPU/ABI Intel Atom x86

Se si usa un dispositivo fisico come Nexus 5X, 6 o 9, è possibile aggiornare il dispositivo tramite aggiornamenti OTA (Automatic Over The Air) o scaricare un'immagine di sistema e lampeggiare direttamente il dispositivo. Per altre informazioni sull'aggiornamento manuale del dispositivo ad Android Nougat, vedere Immagini OTA per dispositivi Nexus.

Si noti che i dispositivi Nexus 5 non sono supportati da Android Nougat.

Nuove funzionalità

Android Nougat introduce una varietà di nuove funzionalità e funzionalità, ad esempio supporto multi-finestra, miglioramenti delle notifiche e risparmio dati. Le sezioni seguenti evidenziano queste funzionalità e forniscono collegamenti che consentono di iniziare a usarle nell'app.

Modalità a più finestre

La modalità multi-finestra consente agli utenti di aprire due app contemporaneamente con supporto multitasking completo. Queste app possono essere eseguite side-by-side (orizzontale) o una sopra l'altra (verticale) in modalità schermo diviso. Gli utenti possono trascinare un divisore tra le app per ridimensionarle e tagliare e incollare il contenuto tra le app. Quando due app vengono presentate in modalità a più finestre, l'attività selezionata continua a essere eseguita mentre l'attività non selezionata viene sospesa ma ancora visibile. La modalità a più finestre non modifica il ciclo di vita dell'attività Android.

App di esempio in esecuzione in modalità a più finestre sia in verticale che orizzontale

È possibile configurare il modo in cui le attività dell'app Xamarin.Android supportano la modalità a più finestre. Ad esempio, è possibile configurare gli attributi che impostano le dimensioni minime e l'altezza e la larghezza predefinita dell'app in modalità multi-finestra. È possibile usare la nuova Activity.IsInMultiWindowMode proprietà per determinare se l'attività è in modalità a più finestre. Ad esempio:

if (!IsInMultiWindowMode) {
    multiDisabledMessage.Visibility = ViewStates.Visible;
} else {
    multiDisabledMessage.Visibility = ViewStates.Gone;
}

Per altre informazioni sulla modalità a più finestre, vedere Supporto multi-finestra.

Notifiche avanzate

Android Nougat introduce un sistema di notifica riprogettato. Offre una nuova funzionalità Direct Reply che consente agli utenti di rispondere rapidamente alle notifiche per i messaggi di testo in arrivo direttamente nell'interfaccia utente di notifica. A partire da Android 7.0, i messaggi di notifica possono essere raggruppati come un singolo gruppo quando vengono ricevuti più messaggi. Inoltre, gli sviluppatori possono personalizzare le visualizzazioni delle notifiche, sfruttare le decorazioni di sistema nelle notifiche e sfruttare i nuovi modelli di notifica durante la generazione di notifiche.

Risposta diretta

Quando un utente riceve una notifica per il messaggio in arrivo, Android Nougat consente di rispondere al messaggio all'interno della notifica anziché aprire l'app di messaggistica per inviare una risposta. Questa funzionalità di risposta inline consente agli utenti di rispondere rapidamente a un SMS o a un SMS direttamente all'interno dell'interfaccia di notifica:

Screenshot di una notifica con un campo Di risposta diretta inline

Per supportare questa funzionalità nella tua app, devi aggiungere azioni di risposta inline all'app tramite un oggetto RemoteInput in modo che gli utenti possano rispondere tramite testo direttamente dall'interfaccia utente di notifica. Ad esempio, il codice seguente compila un oggetto RemoteInput per la ricezione di input di testo, compila una finalità in sospeso per l'azione di risposta e crea un'azione abilitata per l'input remoto:

// Build a RemoteInput for receiving text input:
var remoteInput = new Android.Support.V4.App.RemoteInput.Builder (EXTRA_REMOTE_REPLY)
    .SetLabel (GetString (Resource.String.reply))
    .Build ();

// Build a Pending Intent for the reply action to trigger:
PendingIntent replyIntent = PendingIntent.GetBroadcast (ApplicationContext,
                                conversation.ConversationId,
                                GetMessageReplyIntent (conversation.ConversationId),
                                PendingIntentFlags.UpdateCurrent);

// Build an Android 7.0 compatible Remote Input enabled action:
NotificationCompat.Action actionReplyByRemoteInput = new NotificationCompat.Action.Builder (
    Resource.Drawable.notification_icon,
    GetString (Resource.String.reply),
    replyIntent).AddRemoteInput (remoteInput).Build ();

Questa azione viene aggiunta alla notifica:

// Create the notification:
NotificationCompat.Builder builder = new NotificationCompat.Builder (ApplicationContext)
   .SetSmallIcon (Resource.Drawable.notification_icon)
   ...
   .AddAction (actionReplyByRemoteInput);

Per altre informazioni sull'aggiunta di azioni di risposta inline all'app per Android 7.0 o versioni successive, vedere l'argomento Android Replying to Notifications .For more information about adding inline reply actions to your app for Android 7.0 or later, see the Android Replying to Notifications topic.

Notifiche in bundle

Android Nougat può raggruppare i messaggi di notifica (ad esempio, per argomento del messaggio) e visualizzare il gruppo anziché ogni messaggio separato. Questa funzionalità di notifiche in bundle consente agli utenti di ignorare o archiviare un gruppo di notifiche in un'unica azione. L'utente può scorrere verso il basso per espandere il bundle di notifiche per visualizzare ogni notifica in dettaglio:

Screenshot dell'esempio di notifiche in bundle

Per supportare le notifiche in bundle, l'app può usare il metodo Builder.SetGroup per aggregare notifiche simili. Per altre informazioni sui gruppi di notifiche in bundle in Android N, vedere l'argomento Notifiche di Bundling android.

Viste personalizzate

Android Nougat consente di creare visualizzazioni di notifica personalizzate con intestazioni di notifica di sistema, azioni e layout espandibili. Per altre informazioni sulle visualizzazioni di notifica personalizzate in Android Nougat, vedere l'argomento Android Notification Enhancements .For more information about custom notification views in Android Nougat, see the Android Notification Enhancements topic.

Risparmio dati

A partire da Android Nougat, gli utenti possono abilitare una nuova impostazione di Risparmio dati che blocca l'utilizzo dei dati in background. Questa impostazione segnala anche all'app di usare meno dati in primo piano laddove possibile. Il Connessione ivityManager è stato esteso in Android Nougat in modo che l'app possa verificare se l'utente ha abilitato Il risparmio dati in modo che l'app possa fare uno sforzo per limitare l'utilizzo dei dati quando è abilitato Il risparmio dati.

Per altre informazioni sulla nuova funzionalità Di risparmio dati in Android Nougat, vedere l'argomento Ottimizzazione dei dati di rete in Android.

Collegamenti all'app

Android 7.1 ha introdotto una funzionalità Collegamenti app che consente agli utenti di avviare rapidamente attività comuni o consigliate con l'app. Per attivare il menu dei tasti di scelta rapida, l'utente preme a lungo l'icona dell'app per un secondo o più. Il menu viene visualizzato con una rapida vibrazione. Il rilascio della pressione fa sì che il menu rimanga:

Schermata di esempio di un menu di scelta rapida dell'app per un'app di messaggistica

Questa funzionalità è disponibile solo a livello API 25 o superiore. Per altre informazioni sulla nuova funzionalità Collegamenti app in Android 7.1, vedere l'argomento Collegamenti alle app Android.

Riepilogo

Questo articolo ha introdotto Android Nougat e spiegato come installare e configurare gli strumenti e i pacchetti più recenti per lo sviluppo Xamarin.Android in Android Nougat. Ha anche fornito una panoramica delle funzionalità principali disponibili in Android Nougat, con collegamenti al codice sorgente di esempio per iniziare a creare app per Android Nougat.