Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Whitepapers
  • Opret bruger
  • Log ind
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?
Se kommentarer (1)
Emner Android, Java, Smartphones

Endomondo: Sådan lavede vi Danmarks bedste Android-applikation

Danmarks bedste Android-applikation hedder Endomondo Sport Tracker, og udvikleren bag fortæller her om de teknologier, der får fitness-applikationen til at køre derudaf.

Af Mikkel Meister Fredag, 5. februar 2010 - 15:19

Version2 og HTC kårede fredag vinderen af konkurrencen om Danmarks bedste Android-applikation, og det var fitness-applikationen Endomondo Sport Tracker, der kom øverst på sejrsskamlen.

Endomondo Sport Tracker kan kortlægge brugerens rute på for eksempel løbe- eller cykelturen og sende data op til en hjemmeside, så andre fitnessentusiaster kan følge med i strabadserne.

Softwareudvikler Jesper Majland, Endomondo, står bag applikationen, og han forklarer her, hvordan den er strikket sammen.

*Hvad er din rolle i projektet? * »Jeg har været udvikler på Endomondo Sport Tracker og har stået for al koden til applikationen.

Jeg har brugt to-en-halv måned på det, og det synes jeg er ret hurtigt, i forhold til at jeg er startet helt fra bunden af og ikke havde kodet Java professionelt før.

Det skyldes nok, at Android-API'et (programmeringsinterfacet, red.) og frameworket er så godt, som det er. Jeg tror, at Google er kommet med et rigtigt godt bud på alternativ til de andre store produkter på markedet.«

  • Hvilke teknologier bruger du?* »Jeg har brugt Java, som jo er det programmeringssprog, man bruger til Android-platformen. Og så har jeg brugt udviklingsmiljøet Eclipse på en Windows-maskine.

Applikationen bruger Google Maps til at vise landkort og satellitfotos og telefonens GPS til at finde ud af, hvor man er henne i verden.

Data gemmes internt i en SQLite database på telefonen, som findes i selve Android-frameworket. Databasen bruger jeg til at holde styr på, hvad der er sket under træningen. Jeg prøver så vidt muligt at undgå at bruge temporær hukommelse, da telefonen jo kan løbe tør for batteri, og det har jeg ingen idé om, hvornår sker. De nye positioner, der gemmes i databasen, læses og sendes videre én gang i minuttet til vores webserver, hvor andre så kan se, hvordan træningen skrider frem.

Applikationen består af én hovedaktivitet, som kører på selve UI-tråden (den centrale tråd i alle Android-applikationer, red.). Derudover opretter jeg en baggrundstråd, som tager sig at alle de ting, der sker, når man starter et workout. Den står for at tælle sekunder, positionen på GPS'en og for at snakke med SQLite-databasen.

Derudover har jeg en anden baggrundstask, som én gang i minuttet sender nye data fra databasen til webserveren.

Jeg har generelt prøvet at holde applikationen så simpel som muligt, men det er klart, at den også skal kunne nogle ting.«

Hvilke problemer har du oplevet? »Vi regnede fra begyndelsen med, at HTC Tattoo (Android-telefon fra HTC, red.) ville blive en storsællert, fordi den er relativt billig, så derfor købte vi et eksemplar og begyndte at designe til den.

Det viste sig hurtigt, at Tattoo's display hverken var HVGA eller QVGA (to gængse Android-skærmstørrelser, red.), men en mellemting. HTC oplyser selv, at det er en QVGA, men i praksis har skærmen klart flere pixels, og derfor begyndte jeg at designe efter, at skærmen var lige så bred, men lidt kortere end HVGA.

Det resulterede i, at jeg i begyndelsen ikke kunne se applikationen på Android Marked, fordi manifest-filen (fil til at angive diverse regler for applikationen, red.) ikke indeholdt de rigtige permissions. Det blev dog løst ved at skrive koden til version 1.6 af Android-API'et, hvor de nye skærmstørrelser er understøttet.

Et andet problem er, at jeg godt kan få den sidst kendte position fra GPS'en, men ikke kan bede om at få den aktuelle status på GPS'en at vide. Det betyder, at man godt kan sige, at man vil modtage GPS-data, men man kan ikke selv bestemme, om man kun vil have dem, når der for eksempel er mindst fem satellitter til rådighed. Det er ikke et stort problem, for normalt holder præcisionen sig inden for en procent, men der har været eksempler på, at applikationen har talt en helt forkert distance.«

Hvilke gode råd kan du give videre? »Sørg for at have mindst én, og gerne flere telefoner at teste applikationen på, da telefonerne ikke er ens.

Derudover skal man være opmærksom på, at Android-API'erne ændrer sig utroligt hurtigt, og man skal være klar over, at applikationen ikke vil virke fuldstændigt på alle telefoner, hvis man kaster sig ud i at skrive ny funktionalitet fra for eksempel version 2.1 af API'et ind i den.

Samtidig er det en god idé at bruge standardkomponenterne i Android-frameworket, fordi de er gennemtestede og virker på alle versioner af platformen.«

It-udfordringen er Version2's serie, der hver uge dykker ned i et aktuelt dansk it-projekt.

Send Tweet
Udskriv

Omtalte virksomheder

Endomondo

Udgivet 6. jan 14.17Opdateret 11. feb 19.52
LokationKøbenhavn K

Mere om Java

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg dette emne

Clojure-opfinder fupper publikum med falske kodefakta

Udgivet 23. maj 8.29Opdateret 23. maj 9.39

NemID-hackere udnytter huller i Java

Udgivet 10. maj 6.59Opdateret 10. maj 9.44

Oracles sag mod Google kan give API-ragnarok i skyen

Udgivet 8. maj 11.48Opdateret 8. maj 12.54

Tidligere Sun-direktør i retten: Google måtte gerne bruge Java API’er uden licens

Udgivet 27. apr 11.43Opdateret 27. apr 11.44

IT-job & karriere

  • Se alle it-job
  • Importer din kompetenceprofil fra LinkedIn
Nykredit søger javaudviklere
Udgivet 13. apr 13.55
Mobility arkitekt
Udgivet 7. dec 2011 13.13
Java udviklere – Web-frontend
Udgivet 16. jun 2011 14.21
Java udviklere – backend – gerne med Oracle erfaring
Udgivet 16. jun 2011 14.38

Kommentarer (1)

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Mads Asbjørn 5. feb. 2010 - 15.41
 
Tillykke

Flot - og tillykke med sejren :-)

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer

Tilføj kommentar

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Log ind herunder eller opret en bruger for at skrive kommentarer
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?

Seneste nyt

Meego-afløseren Tizen klar til at tage kampen op med Android

Udgivet 23. maj 16.01Opdateret 23. maj 16.01

Massiv logning af danskernes internetbrug - men politiet bruger kun IP-adressen

Udgivet 23. maj 15.22Opdateret 23. maj 15.22

198 IBM-medarbejdere fritstillet med øjeblikkelig virkning

Udgivet 23. maj 14.28Opdateret 23. maj 15.10

Mystisk Project X afsløret: Rent flashlager giver fænomenal IOPS-ydelse

Udgivet 23. maj 14.19Opdateret 23. maj 14.19

Region sparer licens-millioner på at lukke ”Grønt System”

Udgivet 23. maj 13.22Opdateret 23. maj 13.22

Flere it-nyheder »

Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Whitepapers

Kick-start your master data management initiative

Affecto Denmark

Affecto Data Quality Assessment: Er din indsigt og beslutning baseret på validt data?

Affecto Denmark

Framework til datamigrering i SAP miljøer - spar op til 50% på dine Data Migration udgifter

Affecto Denmark

Få et Data Warehouse (DW) review hos Affecto

Affecto Denmark

Ressourcehåndtering

Projectplace
  • Flere whitepapers

Branchenyheder

Konica Minoltas stand på drupa 2012 slog besøgsrekord

Konica Minolta Business Solutions Denmark

Komplex it er blevet Brocade Premier Partner

Komplex IT

Øg din effektivitet og produktivitet med bizhub C654/C754

Konica Minolta Business Solutions Denmark

Brugerfjendtlige it-løsninger gør brugerne til en sikkerhedstrussel

Projectplace

Athena IT-Group A/S med solid indtjening

Athena IT-Group

Seneste debat

  1. HTML5 – det nye sort?

    7 comments.
    Last update 1 minut 24 sekunder
    Skrevet af John Vedsegaard
  2. Ny malware går efter alle browsere - også på Mac og Linux

    5 comments.
    Last update 21 minutter 41 sekunder
    Skrevet af Lars Lundin
  3. Meego-afløseren Tizen klar til at tage kampen op med Android

    2 comments.
    Last update 26 minutter 12 sekunder
    Skrevet af Jens Schumacher
  4. Sådan formaterer du tekst i debatten på Version2

    30 comments.
    Last update 42 minutter 29 sekunder
    Skrevet af Jesper Lund Stocholm
  5. Minister giver e-læring i køreskolerne det røde kort

    2 comments.
    Last update 1 time 5 minutter
    Skrevet af Jens Madsen
  6. GOTO - programming with the stars

    1 comment.
    Last update 1 time 20 minutter
    Skrevet af Johannes Ulfkjær Jensen
  7. DanID: Du kan sagtens bruge NemID på MacOS X 10.5

    28 comments.
    Last update 1 time 22 minutter
    Skrevet af Jakob Damkjær
  8. IBM fyrer 170 i Danmark

    1 comment.
    Last update 1 time 44 minutter
    Skrevet af Erik Bruus

Mere debat »

It-virksomheder

Mobile Advisor
|
Ciklum
|
Relation House
|
D60
|
BEC
|
Pekke
|
Netcompany
|
Systematic
|
Olsens IT
|
Computerfriend.DK
|
4C Management Consulting
|
Scanarmor
 

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Android
  • Bruttolønsordning
  • Business Intelligence
  • Cloud computing
  • Download Windows 8
  • HTML5
  • Harddisk-priser
  • IE9
  • Intranet
  • It-sikkerhed
  • Kindle Fire
  • Multimedieskat
  • NemID
  • OS X Mountain Lion
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu 11.10
  • Virtualisering
  • Windows 8
  • Windows Phone 7
  • iOS 5
  • iPhone 4S

Tjenester

  • Android-app
  • iPhone-app
  • RSS-feeds
Følg @version2dk
Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Version2 udgives af

  • Mediehuset Ingeniøren A/S work Skelbækgade 4 1717 København V
  • Tlf. work 33265300