Visualizzazione post con etichetta Android. Mostra tutti i post
Visualizzazione post con etichetta Android. Mostra tutti i post

giovedì 27 marzo 2014

NEXUS 5

Per una serie di motivi, non da ultimo quello di poter laorare con un device NFC basato su KitKat, aka Android 4.4, ho acquistato il non più nuovissimo Google Nexus 5.

Già ero stato felice possesore del Nexus S e sapevo cosa voleva dire avere un telefono Google: user experience molto pulita e funzioni hardware complete ma al tempo stesso essenziali.

In poche parole sono molto felice del dispositivo. Considerate che passavo da un Notes II quindi ero viziato con parecchie funzionalità e software di Samsung, ma non ne rimpiango nessuna con il Galaxy 5. Onestamente in rete si trovano parecchie recensioni ma dipingono il prodotto molto peggio di quanto sia realmente, forse perché le recensioni sono tutte riferite a parecchi mesi fa, appena era uscito e prima degli aggiornamenti hardware. In realtà non ho riscontrato la maggior parte dei difetti citati.

Innanzitutto raccomando vivamente l'acquisto online sul Play Store di google (play.google.com) ad un prezzo imbattibile, correntemente €349 per la versione con 16GB e €399 per la versione con 32GB. Se considerate che mi sono sentito chiedere 460€ per la versione da 16GB in un negozio di una nota catena, l'acquisto online è imperativo. L'efficienza è ottima perché la consegna è arrivata puntuale in 2 giorni dall'Olanda con corriere UPS con un costo di trasporto di soli €9,99.

Meccanicamente il dispositivo è molto compatto e leggero. La qualità della plastica è ottima, con effetto gommato per quello nero e una plastica molto piacevole per quello bianco. Il rosso era esaurito al momento del mio ordine, ora è nuovamente in stock. Se siete indecisi tra nero e bianco, prendetelo bianco: è molto più originale e credo tenga anche meglio il prezzo perché ce ne sono meno in giro. Se sapete osare, prendetelo rosso! Considerate inoltre che non è espandibile, quindi consiglio la versione da 32GB se appena pensate di caricare un po' di musica o addirittura dei video.

L'esperienza Google sul cellulare è molto sobria e a me piace particolarmente.

Lo schermo a 1960x1080 non sfigura accanto ad un iPhone5. Il sistema operativo un po' ancora sì... ma così è.

Consiglio vivamente di attivare il nuovo compilatore runtime sperimentale ART: velocizza ancora di più la già sbalorditiva velocità dell'interfaccia utente (ai livelli di iOS su iPhone5) e consente un sensibile risparmio energetico. Per intenderci usando il dispositivo poco potrei addirittura arrivare a coprire 36 ore senza ricarica, quando con il Notes2 arrivavo comunque a malapena a sera.

Per attivare ART prima di tutto dovete attivare il menu sviluppatore premendo 7 volte sulla voce Impostazioni / Info sul telefono / Numero di build. Così facendo comparirà in Impostazioni la voce "Opzioni sviluppatore". Accedendovi, verso l'alto, troverete la voce "Seleziona Runtime" dove potete scegliere ART.

Considerate che dopo aver cambiato runtime il telefono dovrà riavviarsi e convertire tutte le applicazioni: per circa 200 apps io mio sisema ha impiegato una 15-ina di minuti.

sabato 25 maggio 2013

Odissea R.java alias: perché gli sviluppatori iOS sono più felici

Non so se è capitato anche a voi di perdere un'intera giornata cercando di compilare un'app Android perché improvvisamente non viene più generato il file R.java delle risorse... a me sì e in queste occasioni rimpiango di non stare sviluppando un app per iOS.

Dopo aver passato una giornata saltando da ricerche su Google e analizzare il codice xml delle mie risorse senza sapere cosa stessi cercando, sempre più mi trovavo a pensare: "Possibile che in tutto Internet non esista uno straccio di suggerimento su come eventualmente visualizzare un benedetto messaggio di errore che indicasse cosa potesse non piacere all'IDE percui non venissero generati questo benedetto R.java?!".

Ebbene, finalmente ho trovato il modo di generare il file R.java direttamente da linea di comando e, specificando il parametro "-v", avere una spiegazione di cosa potenzialmente non gli piace. Il comando è "aapt" e si trova in platform-tools dell'SDK di Android!

Può essere lanciato come segue:

 aapt package -v -f -m -S /my_path/my-project/res -J /my_path/my-project/src -M /my_path/my-project/AndroidManifest.xml -I /may_path_to_sdk/android-sdk/platforms/android-8/android.jar -F R.java  

È probabilmente opportuno portare la directory corrente in "/my_path/my_project/gen" e poi lanciare il comando precedente specificando il path per raggiungere l'applicazione: "/my_path/android_sdk/platform-tools/aapt ....". Ovviamente ho usato la sintassi Unix/MacOS, se siete su Windows apportate le ovvie modifiche.

Ho trovato le informazioni in questa pagina:
http://www.herongyang.com/Android/Project-aapt-Android-Asset-Packaging-Tool.html

In realtà così ho scoperto di non aver alcun problema con i miei file XML! Il mio problema è originato da un aggiornamento dell'SDK alla res 17. Dopo aver lanciato l'Android SDK manager (dal menu Windows) questo mi diceva che l'Android SDK Build Tools non era aggiornato e andava aggiornato alla res. 17. Dopo aver completato questo aggiornamento tutto è tornato a funzionare, ma una giornata era ormai volta al termine.

In anni di sviluppo su iOS non ho mai toccato una punta di produttività così bassa o di frustrazione così alta...