Reviews
App Inventor voor Android
06 dec
Iedereen kent het wel. Op een of ander moment kom je op een punt dat je iets moet doen wat iets te veel of vervelend werk is. Vaak gaat het om niet heel ingewikkelde dingen, waarbij je iets moet onthouden, uitrekenen of afspreken met meer dan één persoon. En lui als wij zijn komt dan al snel de opmerking “Had mijn telefoon daar maar een applicatie voor.” (Of het wordt gevolgd door “There’s an App for that!” door één van onze iPhone vrienden) Ik heb zelf vrij vaak zo’n ingeving, en ondanks mijn Java kennis doe ik daar meestal vrij weinig mee. Zeker als ik de documentatie van een of andere gps/sms/twitter api moet napluizen is mijn lyrische stemming over dat ik het meest geweldige idee ooit heb bedacht, vreselijk getemperd en sta ik weer met beide benen op de grond. Gelukkig heeft Google daar een briljant meta-idee voor gehad in de vorm van App Inventor voor Android. Ofwel: Klik je Android applicatie in elkaar zonder een regel code. Tijd om een van mijn ‘betere’ ideeën in praktijk te brengen.
Het idee
Meer dan eens parkeer ik mijn auto op een parkeerplaats en ik na terugkomst niet meer weet waar die precies stond. Kon ik dat maar in mijn telefoon opslaan! (Uiteraard kan dat al, want iedereen heeft dat probleem en het is al honderd keer opgelost, maar daar hebben we het nu even niet over) Tijd voor de App Inventor.
De App Inventor bestaat uit twee delen. De designer en de block editor. De designer draait in je browser en gebruik je voor het bouwen van alle gedragscomponent. Feitelijk niet meer dan een simpele WYSIWYG editor waar je ook alle niet visuele component maakt, zoals een location sensor of database.
In de block editor ga je vervolgens alle logica ‘uitprogrammeren’ In deze Java Web Start applicatie kun je door het letterlijk slepen van bouwblokken je gedrag van je applicatie bepalen.
De block editor regelt verder de communicatie met je telefoon. Hierdoor kun je hem tussentijds lanceren, maar ook kun je hiermee vanuit de designer direct op je telefoon zien hoe je scherm er uit gaat zien. Erg handig!
Klikkerdeklik
Dus, men neme een paar componenten. Slepen die op het scherm en zie daar, het invoervenster voor het opslaan van je parkeerplaats. Belangrijk is dat je er ook een database en gps component in sleept, om de locatie uiteindelijk op te slaan.
Vanuit de designer kun je de block editor open. Deze biedt aan de linkerkant een lijst met puzzelstukjes; zogenaamde code blocks. In de ‘My Blocks’ tab vind je de code blocks gerelateerd aan de ‘Save’ knop en kun je bijvoorbeeld het ‘Click’ event in je workspace slepen Deze kan dan vervolgens gevuld worden met andere code blocks die worden uitgevoerd als de knop wordt ingedrukt. Het is letterlijk even puzzelen, maar je klikt zo al binnen een paar minuten de rest van je applicatie in elkaar.
Eén van de wat ‘lastigere’ dingen was het openen van de Maps applicatie. Dit was namelijk niet het inslepen van een of andere kant-en-klare Maps component, maar gebeurd met een Activity Starter. Met dit component kun je een intent aanroepen (De meeste Android developers wel bekend) en met een DataURI de juiste intent met parameters aanroepen. Gelukkig staat het meeste goed beschreven in de documentatie.
Laatste ingrediënt: Wel een goed idee.
De App Inventor is erg handig om snel een nieuw idee uit werken. Het heeft nagenoeg alles om een fatsoenlijke Android applicatie in elkaar te zetten. Google Maps, Twitter, camera of email. Je kunt het allemaal gebruiken zonder erg veel moeite. Dit maakt het uitermate geschikt een snel en goedkoop een prototype applicatie in elkaar te sleutelen. Ook voor niet programmeurs is het best een leuke tool, om in de vrije avonduren wat in elkaar te knutselen. Met relatief weinig technische kennis kom je een heel eind. Toch denk ik dat het daar ook bij zal blijven. Voor echte volwaardige applicaties ben je beter af met de normale SDK, omdat deze simpelweg gewoon meer kan en meer controle biedt. In de eerste fase van een ontwikkeltraject is de App Inventor daarom een handige tool om de eerste ideeën uit te werken of meer ideeën op te doen en vervolgens met de normale SDK de volwaardige applicatie uit werken.
De complete applicatie kun je zelf downloaden en importeren in App Inventor
