"Fascismo Comunismo, per me sono la stessa cosa e hanno fatto gli stessi danni."
No non si può sentire cose del genere e lasciarle passare. Vorrei ricordare a questi storici da mezzi pubblici che noi italiani abbiamo avuto 20 anni di dittatura, confino, omicidi politici, leggi razziali, tribunali speciali... Abbiamo avuto giovani che combattevano per difendere un regime e giovani che hanno lasciato tutto per andare in montagna a combattere contro.
Non è esattamente la stessa cosa...
"Nessun bambino si è mai intromesso nel partito repubblicano ed è sopravvissuto per raccontarlo" TB
giovedì 10 luglio 2008
sabato 5 luglio 2008
Ciao mondo in salsa Android
La solita prima applicazione, però vederla sul simulatore del GPhone da una certa soddisfazione.
La prima versione con l'interfaccia implementata in modo programmatico:
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class primaApp extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
TextView tv= new TextView(this);
tv.setText("Ciao!");
setContentView(tv);
}
}
Una delle cose più interessanti è che la User Interface può essere definita anche in modo dichiarativo tramite un file xml:
<linearlayout android="http://schemas.android.com/apk/res/android" orientation="vertical" layout_width="fill_parent" layout_height="fill_parent"></linearlayout></span>
<textview android="http://schemas.android.com/apk/res/android" layout_width="fill_parent" layout_height="fill_parent" text="Ciao!"></textview>
Quindi piccole modifiche alla grafica possono essere fatte senza dover rifare molto codice ;-)
La "activity" diventa anche più semplice:
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class primaApp extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
}
}
Ogni applicazione Android è composta da 4 blocchi base:
Activity
Intent Receiver
Service
Content Provider
Activity: è il blocco più comune, si può immaginare con una singola schermata e viene implementata in una singola classe che estende la classe base Activity. Quando una nuova schermata comincia la precedente viene messa nella History e fermata. Ogni schermata può ritornare dei valori alla schermata chiamante. Android prevede l'utilizzo di classi speciali per passare da un'activity ad un'altra, queste classi vengono chiamate Intent. Gli Intent sono una richiesta di fare qualcosa, esistono poi gli IntentFilter che invece rappresentano la descrizione di cosa un'attività è in grado di fare o meglio di quali eventi è in grado di catturare.
Intent Receiver: è il codice che viene eseguito in risposta ad un evento esterno, ad esempio una chiamta telefonica. Non mostra una User Interface ma può chiamare il NotifyManager per avvertire l'utente che è avvenuto qualcosa di importante.
Service: i servizi sono codice che viene eseguito anche per tempi lunghi e che girano anche senza un'interfaccia grafica. Un esempio potrebbe essere un media player: il player in sè può girare senza UI esponendo le funzioni principali tramite un interfaccia.
Content Provider: serve per condividere i dati tra applicazioni diverse. Quindi il Content Provider è una classe che espone i metodi per l'accesso ai dati.
La prima versione con l'interfaccia implementata in modo programmatico:
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class primaApp extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
TextView tv= new TextView(this);
tv.setText("Ciao!");
setContentView(tv);
}
}
Una delle cose più interessanti è che la User Interface può essere definita anche in modo dichiarativo tramite un file xml:
<linearlayout android="http://schemas.android.com/apk/res/android" orientation="vertical" layout_width="fill_parent" layout_height="fill_parent"></linearlayout></span>
<textview android="http://schemas.android.com/apk/res/android" layout_width="fill_parent" layout_height="fill_parent" text="Ciao!"></textview>
Quindi piccole modifiche alla grafica possono essere fatte senza dover rifare molto codice ;-)
La "activity" diventa anche più semplice:
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class primaApp extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
}
}
Ogni applicazione Android è composta da 4 blocchi base:
Activity
Intent Receiver
Service
Content Provider
Activity: è il blocco più comune, si può immaginare con una singola schermata e viene implementata in una singola classe che estende la classe base Activity. Quando una nuova schermata comincia la precedente viene messa nella History e fermata. Ogni schermata può ritornare dei valori alla schermata chiamante. Android prevede l'utilizzo di classi speciali per passare da un'activity ad un'altra, queste classi vengono chiamate Intent. Gli Intent sono una richiesta di fare qualcosa, esistono poi gli IntentFilter che invece rappresentano la descrizione di cosa un'attività è in grado di fare o meglio di quali eventi è in grado di catturare.
Intent Receiver: è il codice che viene eseguito in risposta ad un evento esterno, ad esempio una chiamta telefonica. Non mostra una User Interface ma può chiamare il NotifyManager per avvertire l'utente che è avvenuto qualcosa di importante.
Service: i servizi sono codice che viene eseguito anche per tempi lunghi e che girano anche senza un'interfaccia grafica. Un esempio potrebbe essere un media player: il player in sè può girare senza UI esponendo le funzioni principali tramite un interfaccia.
Content Provider: serve per condividere i dati tra applicazioni diverse. Quindi il Content Provider è una classe che espone i metodi per l'accesso ai dati.
venerdì 4 luglio 2008
Comunicato numero 1
Il titolare di questo blog tiene a precisare di non essere in possesso delle trascrizioni delle intercettazioni telefoniche del presidente del consiglio.
giovedì 3 luglio 2008
Android: ma Asimov non c'entra niente
Google ha deciso di impegnarsi nel mondo del mobile. Le integrazioni tra cellulare e le molteplici applicazioni targate g-qualcosa sono affascinanti a partire dalle mappe e dalla presenza ormai divenuta standard del gps sui cellulari.
Ho quindi deciso di provare a fare qualcosa con il sistema operativo che Google sta sviluppando per il futuribile GPhone.
Google mette a disposizione degli sviluppatori un sdk liberamete scaricabile, per utilizzarlo consiglia di lavorare con Eclipse per agevolare ciò rilascia anche un plugin.
L'sdk richiede l'utilizzo del linguaggio java, una buona occasione per riprendere lo studio del linguaggio della Sun.
Il primo passo è scaricare l'sdk da qui. I requisiti per lavorare su Windows sono versione minima Xp e aver installato la jdk dalla versione 5 in poi.
Io ho deciso di utilizzare Eclipse che già uso per Ruby e Php, in particolare sul mio pc ho la versione 3.3 con il plugin Aptana Studio. Quindi dopo l'installazione dell'sdk che si risolve nello scompattare un file zip e aggiungere una variabile di ambiente come spiegato in questa pagina. Il passo successivo è stata l'installazione del plugin per Eclipse, l'installazione è semplice basta aggiungere https://dl-ssl.google.com/android/eclipse/ alle fonti remote dei plugin e poi seguire i passi che vengono proposti.
Da bravo nerd il primo programma che ho sviluppato è il classico "Ciao mondo", nei prossimi giorni quando troverò del tempo proverò a servirmi del simulatore di GPhone per inviare foto georeferenziate ad un album online. L'applicazione non è molto originale ma serve per scoprire le possibilità di questo oggetto.
Ho quindi deciso di provare a fare qualcosa con il sistema operativo che Google sta sviluppando per il futuribile GPhone.
Google mette a disposizione degli sviluppatori un sdk liberamete scaricabile, per utilizzarlo consiglia di lavorare con Eclipse per agevolare ciò rilascia anche un plugin.
L'sdk richiede l'utilizzo del linguaggio java, una buona occasione per riprendere lo studio del linguaggio della Sun.
Il primo passo è scaricare l'sdk da qui. I requisiti per lavorare su Windows sono versione minima Xp e aver installato la jdk dalla versione 5 in poi.
Io ho deciso di utilizzare Eclipse che già uso per Ruby e Php, in particolare sul mio pc ho la versione 3.3 con il plugin Aptana Studio. Quindi dopo l'installazione dell'sdk che si risolve nello scompattare un file zip e aggiungere una variabile di ambiente come spiegato in questa pagina. Il passo successivo è stata l'installazione del plugin per Eclipse, l'installazione è semplice basta aggiungere https://dl-ssl.google.com/android/eclipse/ alle fonti remote dei plugin e poi seguire i passi che vengono proposti.
Da bravo nerd il primo programma che ho sviluppato è il classico "Ciao mondo", nei prossimi giorni quando troverò del tempo proverò a servirmi del simulatore di GPhone per inviare foto georeferenziate ad un album online. L'applicazione non è molto originale ma serve per scoprire le possibilità di questo oggetto.
mercoledì 2 luglio 2008
Non solo i reduci del Vietnam
Oggi ho scoperto che esiste lo stress da rifiuti
martedì 1 luglio 2008
Oggi a radio 24
Chi è che avverte l'ex ministro Ferrero che il contrario di nomade non è sedentario?
Iscriviti a:
Post (Atom)