venerdì 17 febbraio 2012

Screencast con RecordMyDesktop

Un utile programma su Linux per realizzare degli Screencast ovvero dei video del desktop con un commento audio risulta essere RecordMyDesktop.

Per prima si deve selezionate l'area di schermo da catturare (Tutto lo schermo/Finestra), il nome e la qualita' della registrazione

Cliccando su Registra la finestra scompare ed appare una icona nella toolbar (in Gnome in alto) caratterizzata da un quadratino grigio che simula il pulsante di Pausa. Per terminare la registrazione si deve premere questa icona che cambia diventando un puntino rosso per ricominciare a registrare

Il file viene salvato in formato .ogv (che praticamente non viene letto da quasi niente al mondo, Youtube compreso).
Per effettuare la conversione in AVI si puo' procedere da linea di comando con
 mencoder screencast.ogv -ovc xvid -oac mp3lame -xvidencopts pass=1 -o screencast.avi


dove screencast.ogv e' il file di input mentre screencast.avi e' quello di output. Il filmato e' quindi pronto per essere postato su Yotube


Importare progetti Android in Eclipse

Importare un progetto Eclipse/Android nella propria Linux Box non e' esattamente banale perche' non e' sufficiente copiare i file a causa di alcuni file di configurazione (.classpath e .project) che sono tipici di ogni installazione Eclipse/Android. Si puo' ovviare con la seguente procedura.

Come esempio si scarichino gli esempi da
svn checkout http://krvarma-android-samples.googlecode.com/svn/trunk/ krvarma-android-samples-read-only

si tratta di diversi esempi di funzioni di Android.
Nel caso in cui si voglia importare il progetto RssReader creare un nuovo progetto Android e selezionare Create project from existing source indicano la cartella dove e' stato scompattato il codice di esempio

Next,selezionare la versione del Build Target e terminare.
Il progetto e' stato importato e puo' essere eseguito

SVN e Proxy HTTP

Per eseguire un comando del tipo


svn checkout http://krvarma-android-samples.googlecode.com/svn/trunk/ krvarma-android-samples-read-only

stando dietro ad un server proxy si deve andare nella propria home, entrare nella directory nascosta ./.subversion ed editare il file servers nella sezione [global] (circa verso la fine del file) togliendo il segno di nota (#) dati a http-proxy-host e http-proxy-port e modificando i valori a destra del segno uguale con le impostazioni della propria rete

Dalvik

Ripreso e sintetizzato da Wikipedia.

Immagine ripresa da www.learncomputer.com/what-is-dalvik 

Le applicazioni Android girano all'interno di una macchina virtuale denominata Dalvik che fa parte integrante del sistema operativo Android. I programmi sono di fatto compilati solo come bytecode (differente da quello di Java) e vengono convertiti dal formato .class di Java al formato .dex di Dalvik quando vengono installati sul telefono. Per questo motivo non sono supportate le librerie grafiche AWT e Swing di Java.

Di fatto quindi

  • Android ha un sintassi Java
  • Effettua una prima compilazione in bytecode Java
  • Il codice che effettivamente gira nella macchina virtuale (non Java) e' Dalvik e non Java


In alcuni casi puo' accadere che in fase di compilazione si generi l'errore
Conversion to Dalvik format failed: Unable to execute dex: null
In pratica non e' stata effettuata la conversione in .dex
Alla mia esperienza un Clean sul progetto risolve il problema mentre per altre persone e' necessario aumentare la memoria di Eclipse con un add -Xmx1024m (per i dettagli link)

Aggiungere una libreria esterna ad un progetto Android

Nel caso in cui un comando non esista nel linguaggio di Android si puo' ricorrere alle librerie esterne disponibili....ma come inserirle in un progetto Eclipse??
L'esempio che segue prende come esempio AndroidPlot, una libreria gratuita per creare grafici su Android (link).
Una volta scaricato il file della libreria dal sito si puo' creare un nuovo progetto in Eclipse, cliccando destro sul progetto si deve selezionare New/Folder e si inserisce per esempio il nome lib.

Crea nuova directory nel progetto

giovedì 16 febbraio 2012

Option Menu

Per creare un Option menu, ovvero il menu che appare in basso allo schermo, si puo' procedere per due vie.
Prima di tutto si deve segnalare che non esiste un sistema unico per aprire un Option Menu. Sull'emulatore si deve premere il tasto Menu

Cerchiato in rosso il tasto di Option Menu

Localizzare una applicazione

Creare una versione localizzata, ovvero con le scritte tradotte nella lingua dell'utente, e' un processo piuttosto immediato in Android.
In generale e' buona abitudine non inserire le stringhe relative all'interfaccia grafica ed ai messaggi nel codice ma e' piu' conveniente scriverle nel file di default strings.xml che si trova nella cartella /res/values del progetto Android
un esempio di come vengono riferite le stringhe nel file strings.xml si puo' trovare nel codice sottostante
-----------------------------------------------------------------------------------------------
    <string name="hello">Hello World, GeocompassActivity!</string>
    <string name="app_name">Geocompass</string>
------------------------------------------------------------------------------------------------
per usare la stringa all'interno del codice del programma si puo' referenziare, per esempio, mediante R.strings.hello; in questo modo sara' stampata la stringa Hello World, GeocompassActivity!

Nel file strings.xml si puo' mettere il testo scritto nel linguaggio di default. Se si vuole effettuare una personalizzazione, per esempio in italiano, si deve creare sotto la directory /res/ una nuova cartella /values-it/ in cui copiare il file strings.xml che sara' poi editato per effettuare la traduzione delle stringhe.

Sara' il telefono, in base alle impostazioni contenute in Impostazioni/Impostazioni Lingua e Tastiera a scegliere quale elenco di stringhe utilizzare in modo del tutto trasparente



Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...