Klaar is kees! De Google I / O van dit jaar is ten einde gekomen, en zoals gebruikelijk waren er veel aankondigingen en releases voor ontwikkelaars om enthousiast van te worden.
Laten we eens kijken naar het grootste nieuws van Google I / O 2018.
Google schopte dingen af met een reusachtig aankondiging, binnen de eerste paar seconden van hun openingskeynote. "Het kwam onder mijn aandacht dat we een grote fout hadden in een van onze kernproducten", zei Google-CEO Sundar Pichai. "We hebben de kaas verkeerd in onze hamburgeremoji." Nu opgelost!
Terwijl de naam van Android P nog steeds is gehuld in mysterie, Google I / O 2018 deed breng ons de eerste bèta van Android P, plus een kijkje op enkele van de belangrijkste functies:
De eerste bèta van Android P is nu beschikbaar voor Sony Xperia XZ2, Xiaomi Mi Mix 2S, Nokia 7 Plus, Oppo R15 Pro, Vivo X21, OnePlus 6, Essential PH-1, Pixel en Pixel 2. Om te controleren of uw apparaat is in aanmerking komen voor deze bèta, ga dan naar de website Android Beta-programma.
Een van de grootste momenten tijdens de keynote vorig jaar, toen Stephanie Cuthbertson, Director of Product Management, aankondigde dat Kotlin een officieel ondersteunde taal zou worden voor Android-ontwikkeling, dus we zouden altijd meer Kotlin-gerelateerd nieuws zien op Google I / O 2018.
Kotlin KTX is een interessant nieuw Kotlin-project dat enige aandacht kreeg tijdens de I / O van dit jaar. Dit nieuwe project is een verzameling modules die bestaat uit uitbreidingen die het Android-platform voor Kotlin optimaliseren. Met behulp van deze extensies kunt u veel kleine verbeteringen aan uw code aanbrengen. Bijvoorbeeld als u wilt bewerken Gedeelde voorkeuren
met behulp van vanille Kotlin, dan ziet je code er ongeveer zo uit:
sharedPreferences.edit () .putBoolean ("key", value) .apply ()
Met de hulp van de KTX's androidx.core: kern-KTX
module, je kunt nu code schrijven die er ongeveer zo uitziet:
sharedPreferences.edit putBoolean ("key", value)
Android KTX is momenteel in preview, dus je zou enkele brekende veranderingen moeten verwachten voordat het zijn eerste stabiele release bereikt. Als u echter wilt experimenteren met deze vroege versie, zijn de volgende modules vandaag beschikbaar:
androidx.core: kern-KTX
androidx.fragment: fragment-KTX
androidx.palette: palet-KTX
androidx.sqlite: sqlite-KTX
androidx.collection: collection-KTX
androidx.lifecycle: lifecycle-ViewModel-ktx
androidx.lifecycle: lifecycle-reactivestreams-ktx
android.arch.navigation: navigatie-common-ktx
android.arch.navigation: Navigatie-fragment-KTX
android.arch.navigation: Navigatie-runtime-KTX
android.arch.navigation: Navigatie-testen-KTX
android.arch.navigation: navigatie-ui-ktx
android.arch.work:work-runtime-ktx
Om met Android KTX te gaan werken, moet u een afhankelijkheid toevoegen voor elke module die u wilt gebruiken. Bijvoorbeeld:
afhankelijkheden implementatie 'androidx.fragment: fragment-ktx1.0.0-alpha1'
Android Jetpack is een nieuwe reeks bibliotheken, hulpprogramma's en architecturale begeleiding die erop gericht is boilerplate code te elimineren door automatisch activiteiten zoals achtergrondtaken, navigatie en levenscyclusbeheer te beheren.
Jetpack is onderverdeeld in vier categorieën:
De gemakkelijkste manier om met Jetpack aan de slag te gaan, is door Android Studio 3.2 of hoger te downloaden en vervolgens een project te maken met behulp van de Activiteit en fragment + ViewModel sjabloon, die is ontworpen om u te helpen Jetpack op te nemen in uw app.
Geen enkele Google-I / O zou compleet zijn zonder enig Android Studio-nieuws! Dit jaar kregen we een nieuwe preview van Android 3.2, die de volgende functies introduceerde:
De navigatie van uw app is cruciaal voor het leveren van een goede gebruikerservaring. Voor de beste resultaten moet u uw navigatie zorgvuldig ontwerpen, zodat gebruikers elke taak op zo min mogelijk schermen kunnen voltooien.
Om u te helpen een navigatiestructuur te creëren die intuïtief en moeiteloos aanvoelt, heeft Jetpack een component voor de navigatiearchitectuur en ondersteunt Android Studio 3.2 dit onderdeel met een nieuwe grafische navigatie-editor.
Met de navigatie-editor kun je de navigatiestructuur van je app visualiseren en perfectioneren, hoewel het nadeel is dat je het niet zomaar uit de doos kunt gebruiken: je moet het onderdeel Navigatiearchitectuur instellen en een XML-bronbestand voor navigatie maken, voordat je toegang hebt tot deze editor.
De ondersteuningsbibliotheek van Android is van onschatbare waarde, maar vanwege de manier waarop deze door de jaren heen is ontwikkeld, is deze niet echt intuïtief, vooral niet voor nieuwkomers. De ondersteuningsbibliotheek bevat bijvoorbeeld veel componenten en pakketten met de naam v7, hoewel API 14 het minimum is dat de meeste van deze bibliotheken ondersteunen.
Om deze verwarring op te helderen, herformatteert Google de Ondersteuningsbibliotheek in een nieuwe AndroidX-bibliotheek met vereenvoudigde pakketnamen en Maven groupIds
en artifactIds
die de inhoud van de bibliotheek beter weergeven. Raadpleeg de AndroidX-refactoring-kaart voor meer informatie over de toewijzingen tussen oude en nieuwe klassen.
Android Studio 3.2 ondersteunt deze migratie met een nieuwe refactoring-functie, die u kunt openen door met Control-klikken op uw project en selecteren Refactor> Refactor naar AndroidX. Hiermee worden uw code, bronnen en Gradle-configuratie bijgewerkt om te verwijzen naar de Maven-artefacten en gerefactored-klassen.
Volgens het Google-blog zijn ze van plan door te gaan met het updaten van het android.support
-gecomprimeerde bibliotheken gedurende het P Preview-tijdsbestek, om de gemeenschap voldoende tijd te geven om te migreren naar AndroidX.
Sinds de Android Marketplace in maart 2012 is gelanceerd, is de gemiddelde app-omvang vervijfvoudigd en er zijn aanwijzingen dat voor elke toename van 6 MB in APK-grootte, u een daling van 1% installatiekosten kunt verwachten.
Om u te helpen uw APK-formaat onder controle te krijgen, introduceert Android Studio 3.2 het concept van Android App-bundels. Onder dit nieuwe model bouw je een enkel artefact dat alle code, items en bibliotheken bevat die je app nodig heeft elk apparaat, maar de daadwerkelijke APK-generatie wordt uitgevoerd door Google Play's Dynamische levering service.
Deze nieuwe service genereert APK's die zijn geoptimaliseerd voor elke specifieke apparaatconfiguratie, zodat de gebruiker een kleinere download krijgt met alleen de code en bronnen die vereist zijn voor hun specifieke apparaat, en u zich geen zorgen hoeft te maken over bouwen, ondertekenen, uploaden en meerdere APK's beheren.
Als u de code en bronnen van uw app al volgens de beste werkwijzen organiseert, is het maken van een app-bundel in Android Studio 3.2 vrij eenvoudig:
Dit genereert een app-bundel en plaatst deze in uw project-name / module-name / build / uitgangen / bundle /
directory.
Ga als volgt te werk om een ondertekende app-bundel te genereren die u naar de Google Play-console kunt uploaden:
Wanneer u uw app-bundel uploadt, genereert de Play Console automatisch gesplitste APK's en multi-APK's voor alle apparaatconfiguraties die door uw toepassing worden ondersteund. Als je nieuwsgierig bent, kun je precies zien met welke artefacten het is gemaakt, met behulp van de nieuwe App Bundle Explorer:
U kunt ook dynamische functiemodules toevoegen aan uw app-bundel, die functies en items bevatten die de gebruiker tijdens de installatieprocedure niet nodig heeft, maar mogelijk op een later tijdstip moet downloaden. Uiteindelijk is Google ook van plan om instant-enable-ondersteuning toe te voegen aan de App-bundel, waardoor gebruikers de module van uw app kunnen starten via een link, zonder installatie, op een manier die erg doet denken aan Android Instant Apps.
Wanneer uw lay-out veel runtime-gegevens bevat, kan het moeilijk zijn om te visualiseren hoe uw app er uiteindelijk uit zal zien. Nu, wanneer u een toevoegt Uitzicht
voor uw lay-out, hebt u de mogelijkheid om het te vullen met een reeks voorbeeldgegevens.
Om deze functie in actie te zien:
RecyclerView
in de lay-out van uw app.RecyclerView
is geselecteerd.Hiermee wordt een venster geopend waarin u kunt kiezen uit een groot aantal voorbeeldgegevens.
De Android Profiler is ook bijgewerkt met veel nieuwe functies, met name een Energy Profiler die een grafiek weergeeft van het geschatte energieverbruik van uw app.
Om ervoor te zorgen dat uw Java-code goed wordt afgespeeld met uw Kotlin-code, introduceert Android Studio 3.2 nieuwe Lint-controles die de aanbevolen procedures afdwingen die worden beschreven in de Kotlin Interop Guide.
Om deze controles mogelijk te maken:
Op een gegeven moment hebben we allemaal de pijn ervaren van het verbinden van onze Android-smartphone of -tablet met onze ontwikkelmachine, alleen voor Android Studio om te weigeren het bestaan ervan te herkennen. Android Studio 3.2 introduceert een verbindingsassistent die u kan helpen bij het oplossen van deze frustrerende verbindingsproblemen.
Selecteer om de assistent te starten Hulpmiddelen> Verbindingsassistent via de Android Studio-werkbalk en volg de instructies op het scherm.
Als u Acties voor de Assistent heeft gebouwd, heeft Google I / O verschillende nieuwe en uitgebreide functies geïntroduceerd waarmee u meer uit uw acties kunt halen.
Het is nu mogelijk om een aangepast thema voor uw Acties te maken. U kunt bijvoorbeeld de achtergrondafbeelding en het lettertype van een actie wijzigen als aanvulling op de branding van uw app.
Om thema-acties te maken:
Hiermee gaat u naar een scherm waar u de volgende aanpassingen kunt aanbrengen:
Zodra u tevreden bent met uw wijzigingen, klikt u op Opslaan. U kunt vervolgens uw thema in actie zien door te selecteren Simulator uit het linker menu.
Google is bezig met het in kaart brengen van alle verschillende manieren waarop mensen dingen kunnen vragen om een set ingebouwde intenties. Deze intenties zijn een eenvoudige manier om de assistent te laten weten dat uw actie specifieke categorieën gebruikersverzoeken kan vervullen, zoals het behalen van een credit score of het spelen van een spel. Op deze manier kunt u snel en eenvoudig het bereik van frases uitbreiden die uw acties activeren, zonder dat u die uitdrukkingen expliciet hoeft te definiëren.
Een preview van de ontwikkelaar van de eerste set ingebouwde intenties is al beschikbaar, waarbij Google van plan is om 'honderden ingebouwde intenties in de komende maanden' uit te rollen.
U kunt deze ingebouwde intenties integreren met de Dialogflow Console of de Actions SDK, afhankelijk van hoe u uw acties hebt geïmplementeerd.
Blader terug naar de bovenkant van het scherm, geef je intentie een naam en klik vervolgens op Opslaan.
Als u de SDK voor Acties gebruikt, moet u de toewijzing tussen elke ingebouwde intentie en de Acties in uw Action-pakket opgeven. Dit is een JSON-bestand dat u maakt met behulp van CLI.
Hier zijn we bijvoorbeeld bezig het Action-pakket bij te werken om het te ondersteunen GET_CREDIT_SCORE
ingebouwde intentie:
"acties": ["description": "Welcome Intent", "name": "MAIN", "fulfilment": "conversationName": "conversation1", "intent": "name": "actions. intent.MAIN ", " description ":" Get Credit Score "," name ":" GET_CREDIT_SCORE "," fulfillment ": " conversationName ":" conversation1 "," intent ": " name ":" actions.intent.GET_CREDIT_SCORE "],
U kunt nu Action Links genereren om snel en eenvoudig toegang te krijgen tot de acties van uw app. Wanneer de gebruiker interactie heeft met een van uw actiekoppelingen op zijn smartphone of Smart Display, worden deze direct naar zijn assistent gebracht waar hij of zij de bijbehorende actie kan gebruiken. Als ze communiceren met een van uw actiekoppelingen op hun bureaublad, worden ze gevraagd het assistent-apparaat te selecteren waar ze toegang tot uw actie willen hebben.
Om een voorbeeld van deep linking te zien, bekijk deze Action Link van de app meditatie en mindfulness, Headspace.
Om een Action Link te genereren:
U kunt deze URL nu gebruiken op elke locatie die een hyperlink ondersteunt, zoals websites, blogs, Facebook, Twitter, YouTube-commentaarsecties en meer.
De meest effectieve manier om mensen naar uw app te rijden, is om onderdeel te worden van hun dagelijkse routines. Google Assistant staat gebruikers al toe om meerdere acties tegelijk uit te voeren, als onderdeel van vooraf ingestelde routines, maar nu lanceert Google een preview van de ontwikkelaar van Routine Suggestions.
Zodra deze functie openbaar beschikbaar is, kunt u gebruikers vragen hun eigen acties aan hun routines toe te voegen.
Hoewel deze functie nog niet klaar is om uitgerold te worden, kunt u ondersteuning voor Routine Suggesties toevoegen aan uw Acties, klaar voor wanneer deze functie doet studeer uit van preview van ontwikkelaar.
Als uw mobiele app een zo breed mogelijk publiek zal bereiken, moet u zich naast Android verder ontwikkelen voor andere platforms! Dit heeft ontwikkelaars lang een raadsel gegeven: bouw je dezelfde app meerdere keren of compromis met een platformonafhankelijke oplossing die niet heel leveren de native ervaring die mobiele gebruikers gewend zijn?
Op Google I / O 2017 kondigde Google Flutter aan, een UI-toolkit die beloofde je te helpen je code een keer te schrijven en een native-ervaring voor zowel iOS als Android te bieden, met widgets die zijn gestileerd volgens Cupertino (iOS) en Material Design (Android ) richtlijnen.
Bij de editie van dit jaar lanceerde Google de derde beta-release van Flutter, met nieuwe functies zoals:
Om met Flutter te beginnen, moet je Git instellen, als je dat nog niet hebt gedaan. Zodra je Git hebt geïnstalleerd, kun je Flutter verkrijgen door de volgende opdracht uit te voeren vanuit een terminal- of opdrachtpromptvenster:
git clone -b beta https://github.com/flutter/flutter.git
Je kunt Flutter met elke teksteditor gebruiken, maar als je de Flutter en Dart-plug-ins installeert, kun je Flutter-apps maken met Android Studio:
U hebt nu toegang tot een selectie Flutter-sjablonen, dus de eenvoudigste manier om een idee te krijgen van deze toolkit is om een project te maken met behulp van een van deze sjablonen:
Om deze app uit te voeren:
Hiermee wordt een eenvoudige app gemaakt die bijhoudt hoe vaak u op een zwevende actieknop hebt getikt.
Om de code te bekijken die deze app van stroom voorziet, open je je project flutter_app / java / main.dart
het dossier.
Terwijl dit technisch gezien is niet iets dat je aan je apps kunt toevoegen of kunt beginnen met het experimenteren met vandaag, Google Duplex was een van de meest intrigerende aankondigingen die tijdens de openingskeynote werden gedaan, dus het verdient zeker een vermelding.
Hoewel veel bedrijven online aanwezig zijn, zijn er nog steeds momenten waarop u de telefoon moet opnemen en rechtstreeks contact opneemt met een bedrijf, vooral als u te maken hebt met kleinere, lokale bedrijven..
Tijdens de openingskeynote heeft Sundar Pichai aangekondigd dat Google een nieuwe functie test die is gericht op het automatiseren van taken waarvoor u normaal gesproken de telefoon moet ophalen, zoals het reserveren van een tafel in uw favoriete restaurant of het boeken van een knipbeurt.
Met deze nieuwe functie hoeft u alleen de datum en tijd op te geven waarop u uw afspraak wilt boeken. De Google-assistent belt vervolgens namens u het bedrijf. Met behulp van een nieuwe technologie genaamd Google Duplex, kan de assistent complexe zinnen en snelle spraak begrijpen en reageert deze vanzelf in een telefoongesprek, zodat de persoon aan de andere kant van de lijn kan praten met de Google-assistent alsof deze is een ander mens, dan een geautomatiseerde stem!
Zodra de Google-assistent uw afspraak heeft geboekt, wordt er zelfs een herinnering aan uw agenda toegevoegd, zodat u uw knipbeurt of dinerreserveringen niet vergeet.
Op dit moment is Duplex beperkt tot het plannen van bepaalde typen afspraken, maar er zijn verschillende clips afgespeeld tijdens de Google I / O-keynote en de resultaten zijn al behoorlijk indrukwekkend. Je kunt deze clips zelf horen, via de Google AI-blog.
Achter de schermen is Duplex een terugkerend neuraal netwerk (RNN), gebouwd met behulp van het machineplatform TensorFlow Extended (TFX) en getraind met behulp van een reeks geanonimiseerde gegevens uit telefoongesprekken. De geautomatiseerde stem varieert intonatie op basis van de context, dankzij een combinatie van de tekst-naar-spraak (TTS) -motor en een synthese TTS-engine, met behulp van Tacotron en WaveNet-plus de toevoeging van enkele "hmmm" en "uh" s en pauzes, berekend om het gesprek te helpen klinken natuurlijker.
Deze technologie is niet alleen handig voor de gebruiker, maar kan ook kleine bedrijven helpen die afhankelijk zijn van boekingen, maar geen online boekingssysteem hebben, en no-shows verminderen door klanten te herinneren aan hun afspraken. Duplex heeft ook een enorm potentieel om slechthorende gebruikers of mensen die de lokale taal niet spreken te helpen door taken uit te voeren die voor hen een uitdaging zouden zijn om zonder assistentie uit te voeren.
In dit artikel hebben we enkele van de meest opmerkelijke, op ontwikkelaars gerichte aankondigingen besproken op Google I / O 2018, maar er is nog veel meer dat we nog niet hebben besproken! Als je alle Google-gerelateerd nieuws wilt lezen (en je hebt er een paar honderd uren te sparen), dan kun je alle Google I / O 2018-sessies op YouTube bekijken.