Posts Tagged ‘Android’

Kompasskalibrering på Samsung Galaxy Express

maj 11, 2014

Telia gav mig en Samsung Galaxy Express när jag bytte abonnemang och den har fungerat bra (för att vara en budgettelefon) men den inbyggda kompassen strulade. Vid sms och telefonering är detta inget direkt problem men ifall man är ute och letar en geocache eller försöker använda Google Sky Map stöter man snabbt på problem.

Med att ”den inbyggda kompassen strulade” menar jag att den inte gav någon tillstymmelse till att indikera annat än norr +- 5 grader. Först var jag inte ens säker på att telefonen i fråga hade en kompass-sensor, men lite googlande efter specar indikerade att telefonen var utrustad med en liten magnetfältskänslig pryl. Detta betydde att något var fel på den, men kanske kunde man försöka sig på att kalibrera den?

Detta var nu inte det lättaste, det finns ingen standard-app för kalibrering av android-telefoners kompass. Däremot lyckades jag efter många om och men hitta ett GPS-test-program som löser detta.

Ifall den inbyggda kompassen i din telefon krånglar:

  1. Installera GPS Status
  2. Öppna inställnings-menyn och välj Verktyg->Kalibrera kompass
  3. Rotera telefonen kring dess tre axlar enligt instruktion
  4. Njut av att kunna avgöra i vilken riktning solen går ner

Intervalometer på github

februari 16, 2014

Min första Android-app Intervalometer ligger nu på github i ett någorlunda fungerande skick. Intervalometer skrevs för att hantera springintervaller (eller annan intervallträning), dvs man sätter en serie tider som genererar en larmsignal som indikerar att intervallet är slut.

En ganska simpel applikation men den krävde en del trixande och kanske viktigare förståelse för hur Android fungerar. Ett tag slogs jag med att få koll på hur Android’s services fungerar och hur man kommunicerar med dom. Sedan slogs jag en del med att få till det så min tjänst kunde exekvera medan skärmen är släckt.

Tanken är att jag ska putsa på den fixa buggar och lägga till de funktioner som jag anser saknas (radera intervall, välja ljud, olika kategorier på intervalltiderna) och sedan lägga ut den på Google Play. Känner jag lust funderar jag på att lägga till GPS-stöd och möjligheten att sätta intervallerna som sträckor istället för tid.

En annan sak jag slogs med rätt länge var att en Sony Xperia-telefon inte ville identifiera sig för Android studio. Detta var frustrerande men efter ett tag luskade jag ut att adb-tjänsten var tvungen att köra som root för att det ska fungera. För den med liknande problem hjälpte följande rader i terminalen mig

sudo adb kill-server
sudo adb start-server

Jag är hyggligt säker på att jag inte har gjort ”rätt”(TM) i alla lägen, senast idag lärde jag mig om att det finns en alarm-hanterare som kan göra underlätta en del och göra saker och ting enklare.

Eftersom jag både är Android- och Java-rookie mottar jag gärna kommentarer på min kod.

Första intrycket av Android Studio

januari 27, 2014

Jag är som vanligt sen på bollen men jag tänkte ändå att App-utveckling kunde vara roligt att prova på. I ärlighetens namn provade jag att installera android-utvecklingsverktygen en gång tidigare men eclipse fick mig att vilja tugga på tangentbordet. Hela upplevelsen var seg och rätt rörig.

Installationen är relativt enkelt, jag laddade ner ett paket med Android-studio och android-SDK vilket bara var att starta efter jag hade installerat Java ordentligt. Att hitta rätt variant av Java var det mest besvärliga med installationen.

Android Studio är baserad på intelliJ, ett öppet Java IDE, och byggverktyget Gradle som uppenbarligen är bra på alla möjliga vis (men jag tänker inte gå närmare in på det eftersom detta är ett första intryck).

IDEt känns rappare än eclipse och upplägget är mer logiskt och en mindre uppsättning inställningar gör det hela mer lätt att greppa. Att skapa ett relativt vackert användargränssnitt går snabbt och lätt i layout-editorn.

Androids applikation med aktivitets-klasser vars olika funktioner anropas av Android är förvånansvärt lätt att sätta sig in i även för inbitna C-programmerare. För den som inte är insatt så skrivs android-applikationer traditionellt i Java. Ett objektorienterat högnivåspråk som skall vara helt plattformsoberoende (men har aldrig varit det på riktigt). Man kan säga att C är Javas farfar, C utvecklades vidare till C++ som Java sedan lånade mycket ifrån. Denna nära relation gör att det är lätt att sätta sig in i grunderna och Python har gett mig lite insikt i objekt orientering så det känns relativt intuitivt.

Efter ett par timmar med Android Studio och ett par googlingar har jag lyckats ta mig från en app som säger ”Hello World” till en app med en knapp som byter text när man trycker på den till ett stoppur. En stor fördel är att det går snabbt och enkelt att ladda ner sitt projekt till sin telefon och köra det. Vilket innebär att det går snabbt att prova saker.

Mitt Projekt "Intervalometer"

Mitt Projekt ”Intervalometer”

Hastigheten att komma igång är ett plus med dessa avancerade programmeringsmiljöer, dock saknar jag fortfarande mycket förståelse för att vara helt bekväm med det hela. Men det kommer kanske?

Allt är inte guld och gröna skogar… Det mest frustrerande är att kompileringsprocessen tar makalöst lång tid, minst en minut. Sedan har jag stött på fall där visningen på min bildskärm skiljer sig från det som visas i telefonen när jag kör programmet där, detta är av mindre vikt men lite förvirrande.

Första intrycket är positivt, det är mest roligt att programmera och inte så mycket frustrerande alls. Jag har kommit igång oerhört snabbt och är redan produktiv även om jag måste googla en hel del ännu.