Min första Android-app Reslogg

Jag har programmerat min första Android-app. Android-appar programmeras i Java, och använder man IDE:t Eclipse med Abdroid SDK-plugin så blir det väldigt lika att programmera en vanlig applikation i Java. I Eclipse finns stöd för en Android-mobil-emulator så att det är enkelt att provköra app-koden direkt från Eclipse, i emulatorn. I Eclipse finns också stöd för att konstruera layouter via grafiskt gränssnitt, istället för att skapa dem direkt i XML-kod. Stödet för att debugga sin kod när den kör på mobilen finns ocskå, även om det kanske inte är supersmidigt.

Det som gör Android-app-programmering lite mer komplicerat än kodning av normala applikationer är att Android är mer komplext när det gäller när ”programmet” kan avbrytas, startas, eller starta om. Själva livscykeln för en app är lite lurigare. Det märks t.ex. när ens första app (Activity) byter från stående till liggande format; då görs en ny ”onCreate” vilket är samma kod som när körs när applikationen startar för första gången. Det känns lite förvirrande. Men det finns naturligtvis lösningar på det. Det kan också skapas konstigheter när man vill komma tillbaka till appen t.ex. via en ”notificaton” i den där rullgardinsmenyn, vilket initierar en ”nystart”. Det sätt jag hittat på att ”lösa” det är att se till att det bara startas en instans av appen, vilket kan göras med android:launchMode=”singleTask” i manifest-filen. Den finns också saker som gör app-programmering enklare. Det finns t.ex. en ”färdig” SQL-databas som kör i din Android-mobil färdig att spara data i. Det finns också många bra bibliotek utvecklade för saker som asynkron uppladdning av data etc.

Appen jag programmerat heter Reslogg. Appen är enkel och består i princip bara av en service loggar din position via telefonens GPS. Tanken är att du ska starta appen när du påbörjar en resa, och stoppa den när du är framme. På så sätt delar du med dig av ett ”resespår”, vilket jag har tänkt använda för att kalibrera trafikmodeller. Under tiden som appen spårar en resa så finns det också möjlighet att ”mata” den med information om vilket färdmedel du just nu använder. Informationen är tänkt att användas för att ”lära” tjänsten hur de olika färdmedeln ”ser ut”, men det är inget krav att du matar in den.

Ditt resespår laddas upp till sajten Reslogg.se.

På sajten kan du titta på dina spår. Tanken är att sajten, automatiskt, ska hjälpa till med att beräkna restider med olika färdmedel och väntetider. Sajten är fortfarande under utveckling, och såhär långt finns bara möjlighet att titta på dina resor på en Google-maps-liknande karta. Med många resespår skulle det gå att t.ex. ge förslag på andra resor, eller ge dig en bild av hur mycket du skulle vinna på att t.ex. cykla till en annan hållplats.

Om du vill prova min app så finns den på Android Market med namnet reslogg. Det kostar $25 för att få möjlighet att publicera på Market, men genom att sprida den där så ges man också möjlighet att ”påminna” de som laddat ner en version av appen om uppdateringar. En god investering även vid mycket få nedladdningar känns det som, tycker jag.

I appens ”info-meny” hittar du det användar-ID som du behöver för att titta på dina resor på Reslogg.se. Logga ingen resa som du vill hålla hemlig bara!

Comments are closed.