lauantai 4. maaliskuuta 2017

Kikki hiiri ja muita kuulumisia

Muistin juuri, että minullahan on blogi. En ole juuri kerennyt tänne kirjoitella, vaikka aiheeseen liittyvää asiaa olisi ollut enemmän kuin koskaan. Opinnot ovat edenneet siihen vaiheeseen, että meillä on lukujärjestyksessä enimmäkseen ohjelmointia ja sehän on varsin mukavaa hommaa. Olen oppinut tosi paljon uutta C, C++ ja C# -ohjelmoinnista. mikrokontrollereita ja prosessoreista. Ehkäpä mielenkiintoisin kurssi tällä hetkellä on Mikroprosessoriohjelmoinnin perusteet, jossa kirjoitamme kokonaan itse Arduino -yhteensopivan kirjaston Atmel -kontrollereille C++:lla.

Noin niinkuin harrastusten saralla olen innostunut Android-ohjelmoinnista ja facebookia seuraavat ovatkin kenties huomanneet, että julkaisin ensimmäisen sovellukseni Play Storessa.


Kikki Watch Facen kanssa kaikki ei ole kuitenkaan mennyt ihan niinkuin elokuvissa. Applikaation ohjelmoinnissa ei esiintynyt suuria hankaluuksia, vaikka Javalla en juuri olekaan koodannut. Kellotaulu toimii mainiosti omassa Huawei Watchissani (sekä emulaattoreissa) kun siirrän debug-version piuhaa pitkin kelloon.

Homma menee monimutkaiseksi siinä vaiheessa, kun pitää tehdä tosielämässä (a.k.a. Play Storessa) toimiva versio, jonka asiakas lataa ensin puhelimeensa Play Storesta, ja puhelin työntää sen jälkeen kellotaulusovelluksen yhdistettyyn älykelloon. Minulla on ilmeisesti joku bugi koodissani, sillä vaikka puhelin asentaa sovelluksen, se ei koskaan pääse kelloon saakka. Ongelmaa on ollut hyvin hankala paikallistaa, sillä Android studiossa ei tule build erroreita.

Hankalammaksi asian tekee vielä se, että Wear - API:sta on tällä hetkellä kaksi hyvin pitkälti erilaista versiota, 1.X sekä uudemmissa kelloissa toimiva 2.0. Kehitän sovellusta 1.x -versiota käyttäviin kelloihin, joissa asennus tapahtuu edellä kuvatun kaltaisesti siten, että projektiin tehdään kaksi APK-pakettia, toinen puhelimeen ja toinen kelloon. Kelloon työnnettävä paketti sisällytetään puhelimen APK:hon joka ladataan Play Storeen ja kaikki on vähintäänkin sekavaa. Wear API 2 on paljon selkeämmän tuntuinen, mutta tuettujen kellojen määrä putoaa murto-osaan.

Olen nyt kokeillut buildata tosi monella eri versiolla Android SDK:sta, play servicesistä ja wearable support librarystä, mutta homma tuntuu menevän vain enemmän solmuun. Minulla on melkein pakkomielle saada tuo toimimaan mahdollisimman äkkiä, mutta otin vaimoni neuvosta vaarin ja vietin koko eilisillan poissa ruudun äärestä. Tai, no siihen asti kun hän meni nukkumaan, jolloin rentouduin vähän asentamalla Tonic C++ audiosynteesikirjaston ja leikkimällä sen kanssa :D. Ehkäpä teen niin, että otan vielä päivän pari etäisyyttä projektiin, ja kokeilen sitten uudestaan. Jos ei muuten niin rakennan koko projektin uudelleen, kun olen lukenut koko Android developers training -ohjeistuksen ajatuksella läpi.

Koska rakastan edelleen myös graafista suunnittelua, tein itselleni Illustratorin voimin kehittäjäbrändin nimeltä Null Mode (käy tykkäämässä). Itselleen on kiva tehdä logoja, sillä asiakas on aina oikeassa :)