L’SL4A è un progetto open source che mira a portare i linguaggi di scripting nel sistema Android. Esso si installa sul dispositivo come un’applicazione, ed ha accesso a molte delle API che una normale applicazione nativa avrebbe, per poterle successivamente offrire agli script che ci facciamo girare sopra, ma con un’interfaccia semplificata.
Sviluppare prototipi di applicazioni è più facile e veloce con SL4A.

Per iniziare a lavorare sull’ambiente di SL4A è necessario abilitare sul proprio smartphone android la possibilità di installare applicazioni anche da sorgenti sconosciute, a quel punto possiamo scaricare sul telefono il file .apk di sl4a (nel momento in cui scrivo giunto alla versione 6: sl4a_r6.apk ) e poi il file .apk del relativo linguaggio di scripting che vogliamo utilizzare per scrivere la nostra prima app (nell’esempio presentato sotto ho optato per Python, ma ci sono molti altri linguaggi di scripting disponibili: perl, javascript, ruby, lua), tutto è reperibile nella sezione download della repository ufficiale di SL4A.

Dopo aver installato SL4A e il linguaggio di scripting sul dispositivo, nella cartella di sl4a troveremo degli utili sorgenti in python di prova, come un classico HelloWord.
Possiamo dunque sbizzarrirci e modificarli a nostro piacimento, provando tutti i metodi che più ci aggradano, usando come referenza le pratiche API reference messe a nostra disposizione. Con centinaia di funzioni per interagire con le finestre e l’interfaccia grafica (UI), la rubrica contatti, il bluetooth, il wireless, i sensori, la fotocamera, il media player, il riconoscimento vocale.

E’ in seguito possibile creare una scorciatoia dell’app realizzata sulla schermata principale del nostro dispositivo ed è possibile scegliere se eseguirla normalmente, o come servizio in background.

Un piccolo esempio di app in python sotto ambiente SL4A:

import android
droid = android.Android()
 
droid.makeToast("Hello World!") # Stampa in sovraimpressione sullo schermo la scritta.
 
#Qui di seguito commentate altre simpatiche funzioni
 
#droid.setMediaVolume(10) # imposta il volume a 10, il max e' 15
#droid.vibrate(1000) # il telefono vibra per un secondo
#droid.ttsSpeak("ciao ciao") # pronuncia la scritta in ingresso
#droid.toggleWifiState() # Attiva o Disattiva il wifi
#droid.toggleBluetoothState() # Attiva o Disattiva il bluetooth