Pagine

24 agosto 2012

Check Check-It!

Finalmente dopo tanto tempo speso a lavorare con Android, pubblico anch'io la mia prima app!
Come molti, mi son buttata su qualcosa di semplice, per capire i meccanismi che stanno dietro a Google Play (sembrerà strano, ma personalmente non avevo ancora pubblicato nulla). Si tratta, infatti, di una semplice app per gestire note e todo list che guarda caso si chiama Check-It!

"Tutto qua?" Starete pensando. Ebbene sì, ma con una piccola chicca. La creazione, cancellazione, spunta e il ritorno alla schermata principale si effettuano tramite 'gesti'. In poche parole si disegna il comando che si desidera impartire all'applicazione invece che andarlo a selezionare da un menù a tendina o da una lista di icone. Questo dovrebbe permettere un uso più rapido dell'app ed evitare di riempire il piccolo schermo dello smartphone di troppe immagini, non sempre facilmente selezionabili e/o differenziabili.
Alcuni comandi impartibili tramite gesti:


AGGIUNGERE UNA NUOVA NOTA
Per aggiungere una nuova nota basta disegnare un "+"










SALVARE UNA NUOVA NOTA
Per salvare una nota, basta disegnare una "S"










E così via...
Al momento l'app è davvero basilare, ma ho intenzione di sviluppare il concept e di aggiungere alcune funzioni come la modifica delle note create e una risposta aptica al riconoscimento del comando. Se la cosa vi ha incuriosito, scaricatela da Google Play (è gratuita) e lasciatemi un commento. Critiche e consigli son ben accetti :)

19 aprile 2012

Sfarfallio ATI Radeon Xpress 200M su linux

Dopo tanto parlare di Android, ecco una breve guida su linux che spero torni utile a quanti come me hanno avuto (e tutt'ora hanno) problemi con la scheda video ATI Radeon Xpress 200M.

Nel mio caso, la scheda video in questione è montata su di un Acer Aspire 5102WLMi (serie 5100) del 2006. Il problema si presenta immancabilmente dopo essere ritornati dalla sospensione in RAM con uno sfarfallio talmente marcato da rendere impossibile l'utilizzo del portatile e costringere al riavvio forzato.
Finalmente, dopo anni, ho trovato una soluzione che voglio condividere con quanti non hanno perso la speranza di risolvere questo fastidiosissimo problema.

Potete trovare la soluzione in inglese a questo indirizzo, post #11. Di seguito invece il mio mini-tutorial in italiano:


PROBLEMA
Sugli Acer Aspire 5100 con scheda video ATI Xpress 200M e linux per 64bit, mandare in sospensione il portatile e ripristinarlo provoca sfarfallii e tremolii molto marcati, tanto da richiedere il riavvio forzato della macchina.

SOLUZIONE
utilizzare il seguente comando da root:
pm-suspend --quirk-radeon-off --quirk-vbemode-restore --quirk-vbestate-restore --quirk-vbe-post
Questo comando dovrebbe mandarvi il portatile in sospensione. A questo punto provate a riattivarlo premendo un tasto qualsiasi: lo sfarfallio dovrebbe essere scomparso :)

Se il comando precedente ha fatto il suo lavoro, provate ad eseguirlo di nuovo aggiungendo:
--store-quirks-as-lkw
In questo modo le opzioni verranno salvate e utilizzate ad ogni futura sospensione.
Spero che questo risolva definitivamente il problema anche sulla vostra macchina :)


APPROFONDIMENTO
Se volete approfondire, di seguito trovate una breve spiegazione delle opzioni utilizzate.

--quirk-radeon-off: Forza l'hardware Radeon a spegnere il display durante la sospensione e a riaccenderlo al ripristino.

--quirk-vbemode-restore: Salva e ripristina la modalità VESA corrente. Può rendersi necessario per impedire la corruzione di X.

--quirk-vbestate-restore: Salva e ripristina degli stati hardware di basso livello che potrebbero essere invalidati dopo la sospensione.

--quirk-vbe-post: Prova a re-inizializzare la scheda video durante il riavvio da sospensione, utilizzando lo stesso codice che usa il BIOS durante il boot.

--store-quirks-as-lkw: Salva i quirks in /etc/pm/last_known_working.quirkdb.

2 marzo 2012

Gesti composti con Gestures Builder

Recentemente ho cominciato ad approfondire alcuni aspetti un po' più avanzati delle API Android e tra questi mi ha subito incuriosito la possibilità di creare gesti personalizzati attraverso il Gestures Builder, uno strumento presente all'interno dell'emulatore che viene caricato automaticamente all'avvio se si è aggiunta una scheda di memoria SD virtuale al sistema emulato.
L'utilizzo del Gestures Builder e dei metodi per riconoscere i gesti personalizzati è spiegato molto bene in questo tutorial presente sul sito ufficiale per sviluppatori, per cui eviterò una descrizione approfondita di tali aspetti in questa sede.
Ho però riscontrato alcune difficoltà nell'utilizzo del Gestures Builder (altrimenti che scrivevo a fare questo post? ^_^) una volta che ho voluto cimentarmi con l'utilizzo di gesti composti. Per gesti composti intendo tutti quei gesti che per essere eseguiti hanno bisogno che il dito si alzi dalla superficie touch e si posi ad un certa distanza. Pensate a come disegnereste un " + " o una " x ". Ecco, questi gesti!

Ovviamente sul sito ufficiale nemmeno l'ombra di una spiegazione, perché evidentemente il problema non si dovrebbe nemmeno porre. In teoria i gesti composti vengono tranquillamente rilevati dal tool e salvati, esattamente come tutti gli altri gesti. In realtà, a meno di essere davvero veloci, risulta molto difficile create gesti composti attraverso il mouse su emulatore e quindi il primo pezzo del nostro gesto scomparirà prima di riuscire a completare l'operazione.
La soluzione è abbastanza semplice, ma per risolvere il problema dovrete scaricare gli esempi forniti attraverso SDK Manager per la versione delle API con cui state sviluppando l'applicazione.
Se siete interessati alla spiegazione originale che ho utilizzato per questo mini-tutorial, la potete trovare qui

UNO: LOCALIZZARE I SORGENTI DI GESTURES BUILDER
Una volta scaricati gli esempi, in inglese "sample for SDK", dovrete andare a cercare la cartella in cui sono stati salvati. Generalmente si trovano all'interno della cartella dell'SDK sotto:
samples/android-#/ 
dove # sta per la versione di API che state utilizzando. All'interno troverete una cartella chiamata Gestures Builder: quelli sono i sorgenti del tool.

DUE: IMPORTARE I SORGENTI COME PROGETTO ANDROID
Per importare i sorgenti all'interno di Eclipse create un nuovo progetto del tipo "Android Sample Project". Eclipse vi aiuterà con una creazione guidata del progetto. Seguitela e vi ritroverete a scegliere direttamente il sorgente per il Gestures Builder.

TRE: MODIFICARE IL FILE create_gesture.xml
A questo punto aprite il file res/layout/create_gesture.xml, trovate l'elemento android.gesture.GestureOverlayView ed aggiungete tra i parametri android:fadeOffset="1000".  Nel mio caso ho scelto di inserire un'attesa di 1 secondo (1000ms = 1s) prima della scomparsa del precedente gesto, ma potete inserire un valore a piacimento.
Salvate e avviate il progetto sull'emulatore.

A questo punto siete pronti per seguire il tutorial ufficiale e creare tutti i vostri bellissimo gesti composti :)