Og det er en vikle! Årets Google I / O er kommet til slutt, og som vanlig var det mange kunngjøringer og utgivelser for utviklere å bli begeistret for.
La oss se på noen av de største nyhetene fra Google I / O 2018.
Google sparket av med en enorm kunngjøring, innen de første par sekunder av deres åpningstangent. "Det ble lagt merke til at vi hadde en stor feil i en av våre kjernevarer," sa Google CEO Sundar Pichai. "Vi fikk osten galt i vår burger emoji." Nå løst!
Mens Android Ps navn fortsatt er innhyllet i mysterium, Google I / O 2018 gjorde ta med oss den første betaen til Android P, og se nærmere på noen av hovedtrekkene:
Den første betaen til Android P er nå tilgjengelig for Sony Xperia XZ2, Xiaomi Mi Mix 2S, Nokia 7 Plus, Oppo R15 Pro, Vivo X21, OnePlus 6, Essential PH-1, Pixel og Pixel 2. For å kontrollere om enheten din er kvalifisert for denne betaen, gå over til Android Beta Program nettstedet.
En av de største øyeblikkene på fjorårets hovedrolle kom da direktør for produktstyring, Stephanie Cuthbertson, kunngjorde at Kotlin ville bli et offisielt støttet språk for Android-utvikling, så vi skulle alltid se flere Kotlin-relaterte nyheter på Google I / O 2018.
Kotlin KTX er et interessant nytt Kotlin-prosjekt som fikk litt oppmerksomhet i løpet av årets I / O. Dette nye prosjektet er en samling av moduler som består av utvidelser som optimaliserer Android-plattformen for Kotlin. Ved hjelp av disse utvidelsene kan du gjøre mange små forbedringer av koden din. For eksempel, hvis du ønsket å redigere SharedPreferences
bruker vanilje Kotlin, så kan koden din se slik ut:
sharedPreferences.edit () .putBoolean ("nøkkel", verdi) .apply ()
Med hjelp av KTXs androidx.core: kjerne-ktx
modul, kan du nå skrive kode som ser mer ut som dette:
sharedPreferences.edit putBoolean ("key", verdi)
Android KTX er for øyeblikket i forhåndsvisning, så du bør forvente at noen bryter endringer før den når sin første stabile utgivelse. Men hvis du vil eksperimentere med denne tidlige versjonen, er følgende moduler tilgjengelige i dag:
androidx.core: kjerne-ktx
androidx.fragment: fragment-ktx
androidx.palette: palett-ktx
androidx.sqlite: SQLite-ktx
androidx.collection: samling-ktx
androidx.lifecycle: livssyklus-viewmodel-ktx
androidx.lifecycle: livssyklus-reactivestreams-ktx
android.arch.navigation: navigasjon-common-ktx
android.arch.navigation: navigasjon-fragment-ktx
android.arch.navigation: navigasjon-runtime-ktx
android.arch.navigation: navigasjon-test-ktx
android.arch.navigation: navigasjon-ui-ktx
android.arch.work:work-runtime-ktx
For å begynne å jobbe med Android KTX må du legge til en avhengighet for hver modul du vil bruke. For eksempel:
avhengigheter implementering 'androidx.fragment: fragment-ktx1.0.0-alpha1'
Android Jetpack er et nytt sett med biblioteker, verktøy og arkitektonisk veiledning som tar sikte på å eliminere boilerplate-koden ved å automatisk administrere aktiviteter som bakgrunnsoppgaver, navigering og livssyklusbehandling.
Jetpack er delt inn i fire kategorier:
Den enkleste måten å komme i gang med Jetpack, er å laste ned Android Studio 3.2 eller høyere og deretter lage et prosjekt ved hjelp av Aktivitet & Fragment + ViewModel mal, som er designet for å hjelpe deg med å inkorporere Jetpack i appen din.
Ingen Google I / O vil være komplett uten noen Android Studio nyheter! I år fikk vi en ny forhåndsvisning av Android 3.2, som introduserte følgende funksjoner:
Appens navigasjon er avgjørende for å levere en god brukeropplevelse. For best resultat bør du nøye designe navigasjonen, slik at brukerne kan fullføre hver oppgave på så få skjermbilder som mulig.
For å hjelpe deg med å opprette en navigasjonsstruktur som føles intuitiv og enkel, inkluderer Jetpack en navigasjonsarkitekturkomponent, og Android Studio 3.2 støtter denne komponenten med en ny grafisk navigasjonseditor.
Navigasjonsredaktøren lar deg visualisere og perfeksjonere appens navigasjonsstruktur, selv om ulempen er at du ikke bare kan bruke den ut av boksen: du må konfigurere navigasjonsarkitekturkomponenten og opprette en navigasjonsgrafikk XML ressursfil, før du får tilgang til denne editoren.
Android Support Library er uvurderlig, men på grunn av måten det utviklet seg gjennom årene, er det ikke akkurat intuitivt, spesielt for nykommere. Støttebiblioteket inneholder for eksempel mange komponenter og pakker som heter v7, selv om API 14 er det minimum som de fleste av disse bibliotekene støtter.
For å bidra til å fjerne denne forvirringen, reflekterer Google Support-biblioteket i et nytt AndroidX-bibliotek som vil inneholde forenklede pakkenavn og Maven groupIds
og artifactIds
som bedre reflekterer bibliotekets innhold. For mer informasjon om mappings mellom gamle og nye klasser, sjekk ut AndroidX refactoring kartet.
Android Studio 3.2 støtter denne overføringen med en ny refactoring-funksjon, som du kan få tilgang til ved å klikke på prosjektet og klikke på prosjektet Refactor> Refactor til AndroidX. Dette vil oppdatere koden, ressursene og Gradle-konfigurasjonen for å referere til Maven-artefakter og refactored-klasser.
Ifølge Google-bloggen planlegger de å fortsette å oppdatere android.support
-pakkede biblioteker gjennom P Preview-tidsrammen, for å gi samfunnet god tid til å overføre til AndroidX.
Siden Android Marketplace lansert i mars 2012, har gjennomsnittlig appstørrelse quintupled, og det er bevis for at for hver 6 MB økning i APK-størrelse, kan du forvente å se en 1% reduksjon i installasjonsrenten.
For å hjelpe deg med å få din APK-størrelse under kontroll, introduserer Android Studio 3.2 konseptet Android App Bundles. Under denne nye modellen bygger du en enkelt artefakt som inneholder all koden, eiendeler og biblioteker som din app trenger hver enhet, men den faktiske APK generasjonen utføres av Google Play Dynamisk levering service.
Denne nye tjenesten genererer APKer som er optimalisert for hver bestemt enhetskonfigurasjon, slik at brukeren får en mindre nedlasting som bare inneholder koden og ressursene som kreves av den aktuelle enheten, og du trenger ikke å bekymre deg for å bygge, signere, laste opp og administrere flere APKer.
Hvis du allerede organiserer appens kode og ressurser i henhold til beste praksis, er det ganske enkelt å lage en App Bundle i Android Studio 3.2:
Dette genererer en apppakke og plasserer den i din prosjektnavn / modul-navn / build / utganger / bunt /
katalog.
Slik genererer du et signert apppakke som du kan laste opp til Google Play-konsollen:
Når du laster opp apppakken din, genererer Play Console automatisk delte APKer og multi-APKer for alle enhetskonfigurasjonene som programmet støtter. Hvis du er nysgjerrig, kan du se nøyaktig hvilke gjenstander det er opprettet, ved hjelp av den nye App Bundle Explorer:
Du kan også legge til dynamiske funksjonsmoduler i App Bundle, som inneholder funksjoner og eiendeler som brukeren ikke vil kreve på installasjonstid, men kan måtte laste ned på et senere tidspunkt. Til slutt planlegger Google også å legge til øyeblikkelig aktiveringsstøtte til App Bundle, som gjør det mulig for brukere å starte appens modul fra en kobling uten installasjon på en måte som høres veldig ut av Android Instant Apps.
Når layoutet inneholder mange runtime data, kan det være vanskelig å visualisere hvordan appen din vil se etter hvert. Nå, når du legger til en Utsikt
til oppsettet ditt, har du muligheten til å fylle den med en rekke utvalgsdata.
For å se denne funksjonen i handling:
RecyclerView
i appens layout.RecyclerView
er valgt.Dette lanserer et vindu der du kan velge mellom en rekke utvalgsdata.
Android Profiler har også blitt oppdatert med mange nye funksjoner, særlig en Energy Profiler som viser en graf av appens estimerte energiforbruk.
For å sikre at Java-koden spiller pent med Kotlin-koden, introduserer Android Studio 3.2 nye Lint-sjekker som håndhever de beste praksisene som er beskrevet i Kotlin Interop Guide.
For å aktivere disse kontrollene:
På et tidspunkt har vi alle opplevd smerten ved å koble vår Android-smarttelefon eller nettbrett til utviklingsmaskinen vår, bare for Android Studio å nekte å gjenkjenne eksistensen. Android Studio 3.2 introduserer en tilkoblingsassistent som kan hjelpe deg med å feilsøke disse frustrerende tilkoblingsproblemene.
For å starte assistenten, velg Verktøy> Tilkoblingsassistent fra Android Studio-verktøylinjen, og følg deretter instruksjonene på skjermen.
Hvis du har bygget Handlinger for assistenten, så Google I / O lanseringen av flere nye og utvidede funksjoner som kan hjelpe deg med å få mer ut av handlingene dine.
Det er nå mulig å lage et tilpasset tema for handlingene dine. For eksempel kan du endre en actions bakgrunnsbilde og skrifttype for å utfylle appens merkevarebygging.
Å opprette temahandlinger:
Dette tar deg til en skjerm hvor du kan gjøre følgende tilpasninger:
Når du er fornøyd med endringene, klikker du Lagre. Du kan da se temaet ditt i aksjon, ved å velge Simulator fra venstre meny.
Google er i ferd med å kartlegge alle de forskjellige måtene som folk kan be om ting til et sett med innebygde hensikter. Disse hensiktene er en enkel måte å la assistenten vite at handlingen din kan oppfylle bestemte kategorier av brukerforespørsler, for eksempel å få en kreditt score eller å spille et spill. På denne måten kan du raskt og enkelt utvide rekkefølge av setninger som utløser handlingene dine, uten å forsøke å definere disse uttrykkene eksplisitt.
En utvikler forhåndsvisning av det første settet med innebygde hensikt er allerede tilgjengelig, med Google planlegger å rulle ut "hundrevis av innebygde hensikt i de kommende månedene."
Du kan integrere disse innebygde hensiktene ved å bruke Dialogflow Console eller Actions SDK, avhengig av hvordan du implementerte handlingene dine.
Bla tilbake til toppen av skjermen, gi din hensikt et navn, og klikk deretter Lagre.
Hvis du bruker SDK for handlinger, må du angi kartleggingen mellom hver innebygd hensikt og handlingene i handlingspakken, som er en JSON-fil du lager ved hjelp av gjengivelsene CLI.
For eksempel oppdaterer vi handlingspakken for å støtte GET_CREDIT_SCORE
innebygd intensjon:
"actions": ["beskrivelse": "velkomstintensiv", "navn": "MAIN", "oppfyllelse": "samtalenavn": "samtale1", "intensjon": "navn": "handlinger. intent.MAIN ", " description ":" Få kreditt score "," navn ":" GET_CREDIT_SCORE "," oppfyllelse ": " samtalenavn ":" samtale1 "," intensjon ": " navn " actions.intent.GET_CREDIT_SCORE "],
Du kan nå generere Action Links, for å gi rask og enkel tilgang til appens handlinger. Når brukeren samhandler med en av handlingslinkene på smarttelefonen eller Smart Display, blir de tatt direkte til assistenten der de kan samhandle med den tilknyttede handlingen. Hvis de samhandler med en av handlingslinkene dine på skrivebordet, blir de bedt om å velge Assistant-aktivert enhet der de vil få tilgang til handlingen din.
For å se et eksempel på dyp linking, sjekk ut denne handlingslinken fra meditasjon og mindfulness-appen, Headspace.
Å generere en handlingslink:
Du kan nå bruke denne nettadressen på et sted som støtter en hyperkobling, for eksempel nettsteder, blogger, Facebook, Twitter, YouTube-kommentarseksjoner og mer.
Den mest effektive måten å få folk til appen din, er å bli en del av deres daglige rutiner. Google Assistant lar allerede brukere utføre flere handlinger samtidig, som en del av forhåndsinnstilte rutiner, men nå lanserer Google en utvikler forhåndsvisning av rutinemessige forslag.
Når denne funksjonen blir offentlig tilgjengelig, kan du be om å legge til egne handlinger i rutene sine.
Selv om denne funksjonen ikke er klar til å bli utdelt enda, kan du legge til rutinemessige forslag til handlingene, klar for når denne funksjonen gjør uteksaminere ut av utvikler forhåndsvisning.
Hvis mobilappen din kommer til det bredest mulige målgruppen, må du utvikle for andre plattformer i tillegg til Android! Dette har lenge presentert utviklere med en conundrum: bygger du den samme appen flere ganger, eller kompromitterer med en kryssplattformløsning som ikke gjør det ganske lever opp den opprinnelige opplevelsen som mobilbrukere har kommet til å forvente?
På Google I / O 2017 annonserte Google Flutter, en UI-verktøykasse som lovte å hjelpe deg med å skrive koden din en gang, og gi en opprinnelig opplevelse for både iOS og Android, med widgets som er utformet i henhold til Cupertino (iOS) og Material Design (Android) ) retningslinjer.
Ved årets begivenhet lanserte Google den tredje betaversjonen av Flutter, med nye funksjoner som:
For å komme i gang med Flutter, må du konfigurere Git, hvis du ikke allerede har det. Når du har installert Git, kan du få hendene på Flutter ved å kjøre følgende kommando fra et Terminal eller Command Prompt-vindu:
git klone -b beta https://github.com/flutter/flutter.git
Du kan bruke Flutter med ethvert tekstredigeringsprogram, men hvis du installerer Flutter og Dart-pluginene, kan du opprette Flutter apps ved hjelp av Android Studio:
Du har nå tilgang til et utvalg av Flutter maler, så den enkleste måten å få en følelse for denne verktøysettet er å lage et prosjekt ved hjelp av en av disse malene:
Slik kjører du denne appen:
Dette skaper en enkel app som sporer hvor mange ganger du har tappet en flytende handlingsknapp.
For å se på koden som driver denne appen, åpne prosjektet ditt flutter_app / java / main.dart
fil.
Mens dette teknisk sett er ikke noe du kan legge til i appene dine eller begynne å eksperimentere med i dag, var Google Duplex en av de mest spennende kunngjøringene som ble gjort under åpningsinngangen, så det fortjener absolutt en omtale.
Mens mange bedrifter har en tilstedeværelse på nettet, er det fortsatt tider når du må hente telefonen og kontakte en bedrift direkte, spesielt når du arbeider med mindre lokale bedrifter.
Under åpningsnøkkelen annonserte Sundar Pichai at Google testet en ny funksjon som har som mål å automatisere oppgaver som vanligvis krever at du henter telefonen, for eksempel å reservere et bord på favorittrestauranten eller bestille en hårklipp.
Ved hjelp av denne nye funksjonen må du bare angi dato og klokkeslett når du vil bestille avtale, og Google Assistant vil da ringe virksomheten på dine vegne. Drevet av en ny teknologi kalt Google Duplex, vil assistenten kunne forstå komplekse setninger og rask tale og svare naturlig i en telefonsamtale, slik at personen på den andre enden av linjen kan snakke med Google Assistant som om det var et annet menneske, i stedet for en datastyrt stemme!
Når Google Assistant har bestilt avtalen din, vil den til og med legge til en påminnelse i kalenderen din, slik at du ikke glemmer hårklipp eller middagsreservasjoner.
Foreløpig er Duplex begrenset til å planlegge bestemte typer avtaler, men flere klipp ble spilt under Google I / O-innstillingene, og resultatene er allerede ganske imponerende. Du kan høre disse klippene for deg selv, over på Google AI-bloggen.
Bak kulissene er Duplex et tilbakevendende neuralt nettverk (RNN), bygget ved hjelp av TensorFlow Extended (TFX) maskinlæringsplattform og utdannet ved hjelp av en rekke anonymiserte telefonsamtaldata. Den elektroniske stemmen varierer sin intonasjon basert på konteksten, takket være en kombinasjon av tekst-til-tale-motoren og en syntese-TTS-motor, ved hjelp av Tacotron og WaveNet-plus tillegg av noen "hmmm" s og "uh" s og pauser, beregnet for å hjelpe samtalen lyden mer naturlig.
I tillegg til å være praktisk for brukeren, kan denne teknologien hjelpe små bedrifter som stoler på bestillinger, men har ikke et online bestillingssystem, samtidig som de reduserer no-shows ved å minne kundene om deres avtaler. Duplex har også stort potensial for å hjelpe hørselshemmede brukere, eller personer som ikke snakker lokalspråket, ved å fullføre oppgaver som ville være utfordrende for at de skulle utføre unassisted.
I denne artikkelen dekket vi noen av de mest bemerkelsesverdige utviklerfokuserte kunngjøringene i Google I / O 2018, men det er mye mer vi ikke har rørt på! Hvis du vil ta opp alle Google-relaterte nyheter (og du har noen få hundre timer å spare), så kan du se alle Google I / O 2018-sesjonene på YouTube.