E questo è un involucro! L'I / O di Google di quest'anno è giunto al termine e, come di consueto, ci sono stati un sacco di annunci e rilasci per gli sviluppatori che sono entusiasti di.
Diamo un'occhiata ad alcune delle più grandi notizie da Google I / O 2018.
Google ha dato il calcio d'inizio con a enorme annuncio, entro i primi secondi del loro keynote di apertura. "Mi è venuto in mente che abbiamo riscontrato un grosso problema in uno dei nostri prodotti principali", ha dichiarato l'amministratore delegato di Google Sundar Pichai. "Abbiamo sbagliato il formaggio nel nostro emoji di hamburger." Ora risolto!
Mentre il nome di Android P è ancora avvolto nel mistero, Google I / O 2018 fatto portaci la prima beta di Android P, più uno sguardo più da vicino ad alcune delle sue caratteristiche principali:
La prima beta di Android P è ora disponibile per Sony Xperia XZ2, Xiaomi Mi Mix 2S, Nokia 7 Plus, Oppo R15 Pro, Vivo X21, OnePlus 6, Essential PH-1, Pixel e Pixel 2. Per verificare se il tuo dispositivo è idoneo per questa versione beta, visita il sito Web del programma Android Beta.
Uno dei momenti più importanti della conferenza dell'anno scorso è arrivato quando Stephanie Cuthbertson, Director of Product Management, ha annunciato che Kotlin sarebbe diventato una lingua ufficialmente supportata per lo sviluppo di Android, quindi avremmo visto sempre più notizie relative a Kotlin su Google I / O 2018.
Kotlin KTX è un interessante nuovo progetto Kotlin che ha ottenuto un certo interesse durante l'I / O di quest'anno. Questo nuovo progetto è una raccolta di moduli composti da estensioni che ottimizzano la piattaforma Android per Kotlin. Usando queste estensioni, puoi apportare molti piccoli miglioramenti al tuo codice. Ad esempio, se si desidera modificare SharedPreferences
usando vanilla Kotlin, il tuo codice potrebbe apparire in questo modo:
sharedPreferences.edit () .putBoolean ("chiave", valore) .apply ()
Con l'aiuto di KTX androidx.core: core-KTX
modulo, ora puoi scrivere codice che assomiglia più a questo:
sharedPreferences.edit putBoolean ("chiave", valore)
Android KTX è attualmente in anteprima, quindi dovresti aspettarti alcune modifiche prima di raggiungere la prima versione stabile. Tuttavia, se vuoi sperimentare con questa versione precedente, i seguenti moduli sono disponibili oggi:
androidx.core: core-KTX
androidx.fragment: frammento KTX
androidx.palette: Gamma-KTX
androidx.sqlite: sqlite-KTX
androidx.collection: raccolta-KTX
androidx.lifecycle: ciclo di vita-ViewModel-KTX
androidx.lifecycle: ciclo di vita-reactivestreams-KTX
android.arch.navigation: Navigazione-common-KTX
android.arch.navigation: Navigazione-frammento-KTX
android.arch.navigation: Navigazione-runtime-KTX
android.arch.navigation: Navigazione-test-KTX
android.arch.navigation: Navigazione-ui-KTX
android.arch.work:work-runtime-ktx
Per iniziare a lavorare con Android KTX, devi aggiungere una dipendenza per ogni modulo che desideri utilizzare. Per esempio:
dipendenze implementazione 'androidx.fragment: fragment-ktx1.0.0-alpha1'
Android Jetpack è un nuovo set di librerie, strumenti e linee guida architettoniche che mira a eliminare il codice boilerplate gestendo automaticamente attività come attività in background, navigazione e gestione del ciclo di vita.
Jetpack è diviso in quattro categorie:
Il modo più semplice per iniziare con Jetpack è scaricare Android Studio 3.2 o versione successiva e quindi creare un progetto usando il Attività e frammento + ViewModel modello, progettato per aiutarti a incorporare Jetpack nella tua app.
Nessun Google I / O sarebbe completo senza alcune notizie di Android Studio! Quest'anno abbiamo ottenuto una nuova anteprima di Android 3.2, che ha introdotto le seguenti funzionalità:
La navigazione della tua app è fondamentale per offrire una buona esperienza utente. Per ottenere i migliori risultati, è necessario progettare attentamente la navigazione in modo che gli utenti possano completare ciascuna attività nel minor numero possibile di schermate.
Per aiutarti a creare una struttura di navigazione che sia intuitiva e senza sforzo, Jetpack include un componente di Navigation Architecture e Android Studio 3.2 supporta questo componente con un nuovo editor di navigazione grafico.
L'editor di navigazione ti consente di visualizzare e perfezionare la struttura di navigazione della tua app, anche se il lato negativo è che non puoi semplicemente usarlo subito: dovrai configurare il componente Navigation Architecture e creare un file di risorse XML per il grafico di navigazione, prima di poter accedere a questo editor.
La libreria di supporto di Android ha un valore inestimabile, ma a causa del modo in cui si è evoluta nel corso degli anni, non è esattamente intuitiva, soprattutto per i nuovi arrivati. Ad esempio, la Libreria di supporto include molti componenti e pacchetti denominati v7, anche se l'API 14 è il minimo che la maggior parte di queste librerie supporta.
Per chiarire questa confusione, Google sta rifattorizzando la Libreria di supporto in una nuova libreria AndroidX che presenterà i nomi dei pacchetti semplificati e Maven groupIds
e artifactIds
che rifletta meglio i contenuti della biblioteca. Per ulteriori informazioni sui mapping tra classi vecchie e nuove, controlla la mappa di refactoring di AndroidX.
Android Studio 3.2 supporta questa migrazione con una nuova funzione di refactoring, alla quale è possibile accedere facendo Control-clic sul progetto e selezionando Refactor> Refactor to AndroidX. Questo aggiornerà il codice, le risorse e la configurazione di Gradle per fare riferimento agli artefatti Maven e alle classi refactored.
Secondo il blog di Google, hanno in programma di continuare ad aggiornare il android.support
-librerie pacchettizzate in tutto il periodo di tempo dell'anteprima P, per dare alla comunità un sacco di tempo per migrare ad AndroidX.
Da quando il Marketplace di Android è stato lanciato a marzo 2012, la dimensione media delle app è quintuplicata, e ci sono prove che suggeriscono che per ogni aumento di 6 MB nella dimensione dell'APK, ci si può aspettare di vedere una diminuzione dell'1% delle percentuali di installazione.
Per aiutarti a tenere sotto controllo le dimensioni dell'APK, Android Studio 3.2 introduce il concetto di pacchetti di app Android. Con questo nuovo modello, crei un singolo artefatto che include tutto il codice, le risorse e le librerie di cui ha bisogno l'app ogni dispositivo, ma la generazione APK effettiva viene eseguita da Google Play Consegna dinamica servizio.
Questo nuovo servizio genera APK ottimizzati per ogni specifica configurazione del dispositivo, quindi l'utente ottiene un download più piccolo contenente solo il codice e le risorse richiesti dal proprio dispositivo specifico e non devi preoccuparti di creare, firmare, caricare e gestione di più APK.
Se già organizzi il codice e le risorse della tua app in base alle migliori pratiche, la creazione di un pacchetto di app in Android Studio 3.2 è abbastanza semplice:
Questo genera un pacchetto di app e lo inserisce nel tuo nome-progetto / module-name / build / uscite / bundle /
elenco.
Per generare un pacchetto di app firmato che puoi caricare sulla console di Google Play:
Quando carichi il pacchetto di app, Play Console genera automaticamente APK suddivisi e multi-APK per tutte le configurazioni del dispositivo supportate dall'applicazione. Se sei curioso, puoi vedere esattamente quali artefatti sono stati creati, usando il nuovo App Bundle Explorer:
È inoltre possibile aggiungere moduli di funzionalità dinamici al pacchetto di app, che contengono funzionalità e risorse che l'utente non richiederà al momento dell'installazione, ma potrebbe essere necessario scaricarlo in un secondo momento. Alla fine, Google prevede anche di aggiungere il supporto di abilitazione immediata al pacchetto di app, che consentirà agli utenti di avviare il modulo della tua app da un collegamento, senza installazione, in un modo che ricorda molto le app istantanee Android.
Quando il tuo layout include molti dati di runtime, può essere difficile visualizzare come apparirà la tua app. Ora, ogni volta che aggiungi un vista
al tuo layout, avrai la possibilità di popolarlo con una serie di dati di esempio.
Per vedere questa funzione in azione:
RecyclerView
nel layout della tua app.RecyclerView
è selezionato.Questo avvia una finestra in cui è possibile scegliere tra una varietà di dati di esempio.
Anche Android Profiler è stato aggiornato con molte nuove funzionalità, in particolare un Energy Profiler che visualizza un grafico del consumo energetico stimato della tua app.
Per assicurarti che il tuo codice Java funzioni bene con il tuo codice Kotlin, Android Studio 3.2 introduce nuovi controlli Lint che applicano le migliori pratiche descritte nella Guida all'interoper di Kotlin.
Per abilitare questi controlli:
Ad un certo punto, abbiamo tutti provato il dolore di collegare il nostro smartphone o tablet Android al nostro computer di sviluppo, solo per Android Studio rifiutarsi di riconoscere la sua esistenza. Android Studio 3.2 introduce un Connection Assistant che può aiutarti a risolvere questi frustranti problemi di connessione.
Per avviare l'Assistente, selezionare Strumenti> Connection Assistant dalla barra degli strumenti di Android Studio, quindi seguire le istruzioni visualizzate.
Se hai creato azioni per l'Assistente, Google I / O ha visto il lancio di numerose funzionalità nuove ed espanse che possono aiutarti a ottenere di più dalle tue azioni.
Ora è possibile creare un tema personalizzato per le tue azioni. Ad esempio, puoi modificare l'immagine di sfondo e il carattere tipografico di un'azione per integrare il marchio dell'app.
Per creare azioni tematiche:
Questo ti porta a una schermata in cui puoi effettuare le seguenti personalizzazioni:
Una volta che sei soddisfatto delle modifiche, fai clic su Salvare. Puoi quindi vedere il tuo tema in azione, selezionando Simulatore dal menu di sinistra.
Google sta mappando tutti i diversi modi in cui le persone possono chiedere le cose a un insieme di intenti incorporati. Questi intenti sono un modo semplice per far sapere all'Assistente che la tua Azione può soddisfare specifiche categorie di richieste degli utenti, come ottenere un punteggio di credito o giocare. In questo modo, puoi espandere rapidamente e facilmente la gamma di frasi che attivano le tue azioni, senza andare allo sforzo di definire tali termini in modo esplicito.
Un'anteprima dello sviluppatore del primo set di intenti incorporati è già disponibile, con Google che prevede di implementare "centinaia di intenti incorporati nei prossimi mesi".
È possibile integrare questi intenti incorporati utilizzando la console Dialogflow o l'SDK Azioni, a seconda di come sono state implementate le azioni.
Torna alla parte superiore dello schermo, dai un nome al tuo intento, quindi fai clic Salvare.
Se utilizzi l'SDK Actions, dovrai specificare il mapping tra ogni intento incorporato e le azioni nel pacchetto Action, che è un file JSON creato utilizzando la CLI di gactions..
Ad esempio, qui stiamo aggiornando il pacchetto Action per supportare il GET_CREDIT_SCORE
intento incorporato:
"actions": ["description": "Welcome Intent", "name": "MAIN", "fulfillment": "conversationName": "conversation1", "intent": "name": "actions. intent.MAIN ", " description ":" Ottieni punteggio di credito "," nome ":" GET_CREDIT_SCORE "," fulfillment ": " conversationName ":" conversation1 "," intent ": " name ":" actions.intent.GET_CREDIT_SCORE "],
Ora puoi generare link di azione, per fornire un accesso rapido e facile alle azioni della tua app. Quando l'utente interagisce con uno dei tuoi link di azione sul proprio smartphone o Smart Display, questi verranno portati direttamente all'Assistente dove possono interagire con l'Azione associata. Se interagiscono con uno dei tuoi link di azione sul proprio desktop, verrà richiesto di selezionare il dispositivo abilitato per l'Assistente in cui desiderano accedere all'azione..
Per vedere un esempio di deep linking, dai un'occhiata a questo link di azione dall'app di meditazione e mindspace, Headspace.
Per generare un link di azione:
Ora puoi utilizzare questo URL in qualsiasi posizione che supporta un collegamento ipertestuale, ad esempio siti Web, blog, sezioni di commenti su Facebook, Twitter, YouTube e altro.
Il modo più efficace per guidare le persone verso la tua app è diventare parte della loro routine quotidiana. Google Assistant consente già agli utenti di eseguire più azioni contemporaneamente, come parte delle routine preimpostate, ma ora Google sta lanciando un'anteprima dello sviluppatore dei suggerimenti di routine.
Una volta che questa funzionalità diventa disponibile pubblicamente, sarai in grado di chiedere agli utenti di aggiungere le tue azioni alle loro routine.
Sebbene questa funzione non sia ancora pronta per essere distribuita, puoi aggiungere il supporto dei suggerimenti di routine alle tue azioni, pronto per quando questa funzione fa laureato fuori dall'anteprima dello sviluppatore.
Se la tua app mobile raggiungerà il pubblico più ampio possibile, dovrai sviluppare per altre piattaforme oltre ad Android! Questo ha a lungo presentato agli sviluppatori un enigma: costruisci la stessa app più volte, o comprometti con una soluzione multipiattaforma che non abbastanza fornire l'esperienza nativa che gli utenti mobili si aspettano?
A Google I / O 2017, Google ha annunciato Flutter, un toolkit dell'interfaccia utente che promette di aiutarti a scrivere il tuo codice una volta e fornire un'esperienza nativa sia per iOS che per Android, con widget che sono stati progettati secondo Cupertino (iOS) e Material Design (Android ) linee guida.
All'evento di quest'anno, Google ha lanciato la terza versione beta di Flutter, con nuove funzionalità come:
Per iniziare con Flutter, devi configurare Git, se non lo hai già fatto. Una volta installato Git, puoi mettere le mani su Flutter eseguendo il seguente comando da una finestra del Terminale o del prompt dei comandi:
git clone -b beta https://github.com/flutter/flutter.git
Puoi usare Flutter con qualsiasi editor di testo, ma se installi i plugin Flutter e Dart, puoi creare app Flutter usando Android Studio:
Ora hai accesso a una selezione di modelli Flutter, quindi il modo più semplice per avere un'idea di questo toolkit è creare un progetto usando uno di questi modelli:
Per eseguire questa app:
Questo crea una semplice app che tiene traccia di quante volte hai toccato un pulsante di azione mobile.
Per dare un'occhiata al codice che alimenta questa app, apri il tuo progetto flutter_app / java / main.dart
file.
Mentre questo tecnicamente non è qualcosa che puoi aggiungere alle tue app o iniziare a sperimentare oggi, Google Duplex è stato uno degli annunci più intriganti fatti durante il keynote di apertura, quindi merita sicuramente una menzione.
Mentre molte aziende hanno una presenza online, ci sono ancora momenti in cui devi prendere il telefono e contattare direttamente un'azienda, soprattutto quando hai a che fare con piccole imprese locali.
Durante il keynote di apertura, Sundar Pichai ha annunciato che Google sta testando una nuova funzionalità che mira ad automatizzare attività che in genere richiedono di sollevare il telefono, come prenotare un tavolo nel ristorante preferito o prenotare un taglio di capelli.
Usando questa nuova funzione, dovrai solo specificare la data e l'ora in cui desideri prenotare l'appuntamento e l'Assistente Google chiamerà l'attività per tuo conto. Alimentato da una nuova tecnologia chiamata Google Duplex, l'Assistente sarà in grado di comprendere frasi complesse e parole veloci e risponderà naturalmente in una conversazione telefonica, così la persona all'altro capo della linea potrà parlare con Google Assistant come se fosse un altro essere umano, piuttosto che una voce computerizzata!
Una volta che l'Assistente Google ha prenotato l'appuntamento, aggiungerà anche un promemoria al tuo calendario, così non ti dimenticherai delle prenotazioni per i capelli o per la cena.
Attualmente, Duplex è limitato alla pianificazione di determinati tipi di appuntamenti, ma durante il tono di I / O di Google sono stati riprodotti diversi clip e i risultati sono già piuttosto impressionanti. Puoi ascoltare queste clip per te stesso sul blog di Google AI.
Dietro le quinte, Duplex è una rete neurale ricorrente (RNN), costruita utilizzando la piattaforma di apprendimento automatico TensorFlow Extended (TFX) e addestrata utilizzando una gamma di dati di conversazione telefonica anonimizzati. La voce computerizzata varia la sua intonazione in base al contesto, grazie alla combinazione del motore text-to-speech (TTS) e di un motore TTS di sintesi, utilizzando Tacotron e WaveNet, oltre all'aggiunta di alcuni "hmmm" se "uh" s e pause, calcolate per aiutare la conversazione a suonare più naturale.
Oltre ad essere comoda per l'utente, questa tecnologia può aiutare le piccole imprese che fanno affidamento sulle prenotazioni ma non dispongono di un sistema di prenotazione online, riducendo al contempo le mancate presentazioni ricordando ai clienti i loro appuntamenti. Duplex ha anche un enorme potenziale per aiutare gli utenti con problemi di udito, o persone che non parlano la lingua locale, completando compiti che sarebbe difficile per loro di eseguire senza assistenza.
In questo articolo, abbiamo trattato alcuni dei più importanti annunci incentrati sugli sviluppatori su Google I / O 2018, ma ce ne sono molti altri che non abbiamo ancora toccato! Se vuoi recuperare tutte le notizie relative a Google (e ne hai alcune centinaio ore di anticipo), quindi puoi guardare tutte le sessioni di Google I / O 2018 su YouTube.