La possibilità di iniettare pezzi di codice in classi e metodi compilati (diventata nota con il nome di Aspect Oriented Programming), sia in modo statico che a tempo di esecuzione, può rivelarsi qualcosa di molto utile. Pensiamo ad esempio a quelle situazioni in cui non è possibile utilizzare un debugger o un profiler, come nel caso di librerie proprietarie dove il codice sorgente non è disponibile o ai cosiddetti “crosscutting concerns” come il logging ed il performance monitoring.
Trovare informazioni su questo argomento e sui suoi possibili utilizzi, vantaggi e svantaggi ormai è solo questione di una piccola ricerca su Google, per cui non mi ci dilungherò (vi consiglio a tal proposito l’articolo da cui ho tratto la mia introduzione).
La libreria di riferimento è possibile trovarla al sito http://code.google.com/p/android-aspectj/, dove c’è anche il link ad un articolo che spiega come utilizzarla in un’applicazione Android modificando il file “build.xml”.
Quello che volevo segnalare però con questo post è un’altra tecnica basata sulla modifica del file “.project”. Tale tecnica è molto più semplice e permette di avviare direttamente da Eclipse il nostro progetto Android-AspetcJ. Vi riporto qui un esempio di file “.project”:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ExampleProject</name>
<comment></comment>
<projects></projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.ajdt.core.ajbuilder</name>
<arguments></arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
<arguments></arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
<arguments></arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
<arguments></arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.ajdt.ui.ajnature</nature>
</natures>
</projectDescription>
Buona sperimentazione!
Scritto
il 19 maggio 2012, 20:23,
da nicola,
in
linux,
ubuntu.
Questo piccola riga di comando permetterà di rimuovere da una cartella e tutte le sottocartelle le directory .svn create dal controllo versione subversion
rm -rf `find . -type d -name .svn`
Qui potete trovare l’articolo originale.
Scritto
il 17 maggio 2012, 21:30,
da nicola,
in
android.
Ecco la mia nuova applicazione che permette di installare certificati per reti WPA-Enterprise su Android in modo facile. Si chiama “Android Certificate Installer”.

La potete trovare qui.
Buon divertimento!
Scritto
il 1 maggio 2012, 16:51,
da nicola,
in
android.

Un’altra mia release su Google Play.
https://play.google.com/store/apps/details?id=it.nicola_amatucci.android.kolor_for_kids
Prendete un’immagine da colorare per il vostro bambino (o anche per voi
) e caricatela sul vostro smartphone o tablet e… lasciatelo colorare
Buon divertimento!
Scritto
il 28 aprile 2012, 23:48,
da nicola,
in
linux,
ubuntu.

Con l’uscita di Ubuntu 12.04 Precise Pangolin ecco uscire anche la versione personalizzata con Gnome 3! La consiglio a chi di Unity ne ha fin sopra ai capelli o come alternativa a Kubuntu!
La potete scaricare da qui!
Buon divertimento!!!
Scritto
il 26 aprile 2012, 11:04,
da nicola,
in
android.
A qualcuno è mai capitato che dopo aver importato un progetto Android in Eclipse ed utilizzato “Fix Project Properties”, sebbene fosse al 100% corretto, venissero segnalati centinaia e centinaia di errori in corrispondenza dell’annotazione @Override?
Certo! La risposta è degna di Capitan Ovvio, eppure è un dubbio che assilla tanti e tanti programmatori, anche non alle prime armi (aggiungo, pigri
). Dunque, eccola!
Scritto
il 21 aprile 2012, 04:19,
da nicola,
in
android.
Ho fatto il root di un Galaxy Tab 10.1 7510 per renderlo adatto all’utilizzo con un pennino capacitivo, mediante un’applicazione che, grazie ai permessi di root, permette di configurare appositamente il touch screen.
Mi sono trovato ad affrontare il problema di dover scoprire automaticamente i server disponibili in rete locale da un dispositivo Android. Ne è venuta fuori un libreria che può rappresentare una buona base di partenza per le vostre applicazioni; la potete trovare qui:
https://github.com/nicola-amatucci/Android-UDP-Auto-Discovery
Spero vi sia utile. Have Fun!

Perché il mio processore corre al 100%? C’è qualcosa che non va con la mia memoria? Se queste sono alcune delle domande che vi assillano, JVM Monitor può essere un’adeguata risposta.