Android 4 Ice Cream Sandwich ITL41F päivitys

Jahas, ja Galaxy Nexukseen tipahti sitten uusi päivitys tuoreeltaan, ohjelmistoversion numero ITL41F. Kyseessä on näemmä vain pikainen korjaus mutta verrattuna ITL41D versioon joka puhelimessa uutena tulee, se korjaa volyymibugin jossa voi kesken puhelun äänenvoimakkuus tipahtaa alas. Saattaapi tosin olla että suomalaisilla palveluntarjoajilla tätä ei edes ilmene, se on 900Mhz G2 taajuuksilla vain mahdollisesti.

Nyt sitten vain odottelemaan versioita 4.01 ja 4.0.3 ja tietysti maagista versiota 4.1 (Jelly Beans? ;):

 

4.0.2

The Android 4.0.2 update was released on 28 November 2011, and fixed minor bugs on the Verizon Galaxy Nexus, the launch of which was later delayed.

4.0.3

The Android 4.0.3 update included a number of bug fixes and optimizations, and offers improvements to graphics, databases, spell-checking, Bluetooth functionality, and other features. New APIs were released for developers, including a social stream API in the Contacts provider, Calendar provider enhancements, new camera apps enhancing video stabilization and QVGA resolution, and accessibility refinements such as improved content access for screen readers.

 

Galaxy Nexus Android 4.0 Ice Cream Sandwich

No niin, posti kuljetti viimein aihka aidon Samsung Galaxy Nexus Android 4.0 Ice Cream Sandwich puhelimen, eli jälleen uusimman Android version kehittäjäpuhelimen – Googlen ja Samsungin yhteistyönä syntyneen rakkauden hedelmän. No tai ainakin liiketoimintasuunnitelman.

Täytyy sanoa että olen Android luureista aiemminkin pitänyt, mutta tässä uudessa on jotain kovin rakastettavaa. Android 4.0:han pohjautuu jo tableteista tuttuun 3.0 Honeycombiin eli uutta on mm. Holographic UI ja usb-portin viritykset. Neljä täysversiota on antanut aikaa hioa yksityiskohtia ja niitä tässä luurissa piisaakin. Pari pääjuttua jotka tulevat heti mieleen on huimasti parannettu kamera, ja widgetit.

Kamera on nyt ’zero shutter lag’ mallia eli kuvanotto on käytännössä salamannopea, toki tarkennus ja salama vievät hetkisen aikaa mutta kuva vetää vertoja pokkareille ja jopa päihittää useimmat halvat mallit kevyesti. Lisäksi kameraan on lisätty panoraamatoiminto jolla voi pyyhkäistä laajaa maisemaa, sopii erityisen hyvin lomakuviin, maisemakuviin yleensä, ja vaikkapa asunnon myyntiesittelyyn 😉 Kameran tarkkuutta myös nostettu, nyt onnistuu 1080p video ja viiden megapikselin kuvat. Juuri enemmästä ei näillä linssitekniikoilla ole enää hyötyäkään. Ruutu on toki myös 4.65″ HD 12080x720p super amoled, komealtahan se näyttää. Joitain häiritsee että luuri suurenee leveyssuunnassa, itseäni ei. Koko on itseasiassa nyt juuri aika passeli, kirjoittamiseen ja katseluun ja siihen että se ei huku taskun pohjalle.

Face detect unlock on ihan hauska party trick muttei toimi kovin hyvin kun valaisuolosuhteet vaihtelevat – face detection rajapinta on kuitenkin koodaajille mielenkiintoisia mahdollisuuksia omaava ja auttaahan se tarkentamaan kasvoihin oikein.

Ja businesspuhelimessa toimii sähköpostit, kalenterit, itse synkkaan molemmat sekä Googlen että firman Exchangen kanssa, ja tietysti jo aiemmin testattu VPN yhteys sekä aiemmin kypsytellyt firman omat softat. Vielä kun on yhteys DropBox:iin jonka kautta jakelen dokumentit tablettien, kannettavien, koti ja työkoneiden ja puhelinten välillä niin kivasti pelittää. Useampi luento jo pidetty tabletilla, ehkä olisi aika kokeilla seuraavaksi puhelimella 😉

Widgeteistä jo mainitsin. Ei niissä mitään ihmeellistä, mutta niitä on vain hiottu jatkuvasti ja nyt ne ovat komeita, interaktiivisia, tulevat monessa eri koossa, ja monisivuisesta ’työpöydästä’ voi koostaa juuri haluamansa näköisen. Ja Windows Phonen valttikortti, People sovellus on tännekin apinoitu, kivasti saa kuvat ruudulle kuten tuolla Googlen sivuilla mainostellaan.

Android Beam on vielä testaamatta, kun ei ole juuri muita ICS luureja lähellä, mutta odottelen sitä mielenkiinnolla. Tietysti parannettu musasovellus, kuvankäsittelysovellus, selain, maps, jne. Itse ostin välittömästi luuriin kunnon navigointisoftan. Kaksi niistä oli susia, onneksi markettiin saa palauttaa vartin sisään sovelluksen joka ei toimi ilman isompia prosesseja. Toinen oli selkeästi tehty aikanaan siten että se oletti puhelimen olevan tablet ja ahnehti tilaa enemmän kuin ruudulla oli. Toinen ei vain käynnistynyt. Kolmas kerta toden sanoi ja nyt on kiva suomalainen naisääni, Leena, ohjastamassa perille. Muita ostettuja softia mitä käytän on kunnon sound recorder saneluita varten, ja hyvä podcast/newsreader. Myös office paketti on ostettuna. Nämähän ovat siitä kivoja että kerran ostettuna voi asennella kaikkiin android laitteisiin, myös Xoom tablettiini, ja hinta vaihtelee parin euron tai sentin ja muutaman kympin välillä. Joulun aikaan oli erikois-alessa suosittuja softia 25 senttiä kipale, tuli hieman latailtua 😉

Loistava puhelin siis, ensimmäinen johon olen jokseenkin täysin tyytyväinen. Miinus akkukesto. Pitänee alkaa kantamaan ydinreaktoria selkärepussa, tai näillä säillä propellihattu ja tuulivoimala.

Java 8 ja Lambda Expressions

Ok, nyt oli hetki aikaa alkaa maistelemaan Java 8 uusia piirteitä. Kapistushan tulee julkaisuun vuonna 2013, eli mitään kiirettä ei sen suhteen ole, mutta kun nyt työn puolesta toimenkuvaan vähän niinkuin kuuluu olla etukenossa, niin..  latailin jo developer previewn java 8 työkaluista, ja ei muuta kuin koodailemaan.

Lambda expression on siis uudenlainen syntaksi. Skeptikoiden mielestä tämä on sama kuin anonyymin luokan käyttö, eli kutsutaan jotain metodia, ojennetaan parametrina anonyymi luokka jossa on algoritmi sisässä. Esim. Comparator toteutus. Lambda Expression on kuitenkin syvemmälle menevä muutos joka muuttaa Java-kielen syntaksia. Tällä hetkellä päällimmäisin muutos on uusi operaattori: ->

Tässähän ei ole mitään uutta, Scalassa ja C# kielessä on ollut jo tämä piirre aikansa, mutta hiljaa hyvä tulee.. Tässä esimerkki Lambda Expression käytöstä:

x -> x + 1

Eli mitäpä tuo tarkoittaa? Määritellään tavallaan anonyymi ilmassa roikkuva funktio, joka ei näytä kuuluvan mihinkään luokkaan. Funktio ottaa parametrinaan muuttujan x, ja määrittelee operaattorin perään sille algoritmiksi: palauta x + 1. Tietysti tässä tapauksessa lambda expression olettaa vahvasti että x on arvo jolle +1 on laillinen operaatio, esim. numeroarvo. Tuo ei tietysti yksinään tee mitään, vaan tätä täytyy käyttää jossain. Määritellään rajapinta joka sisältää metodin joka ottaa sisään arvon ja palauttaa toisen:

interface MyCalculator {
  public double operate (double input);
}

Tähän asti tuttua kamaa. Seuraavaksi määritellään lambda expression ja asetetaan muuttuja viittaamaan siihen:

MyCalculator mc = (x) -> x+1;
System.out.println(mc.operate(1));

Eli näillä tulostuu tietysti ruudulle kaksi. Eiköhän tässä ole teaseriksi sopivasti, palataan asiaan joskus kun tiedän näistä enemmän. Aikaisinhan tässä liikkeellä ollaan

Ei mikään suuri salaisuus, että näitä tullaan näkemään eritoten Java 8 Collections-rajapinnoissa. Juuri kun suuri osa koodaajista alkaa olla toipunut Java 5 Generics tyyppiparametrien käytöstä.. 😉