Intervento al linux day 2013
I tools di programmazione per le device mobili sono quasi all'altezza di quelli per Linux; 竪 giunta quindi l'ora di cimentarsi nella scrittura di script e programmi per telefoni: 竪 facile, divertente ed i risultati sono interessanti.
In venti minuti vi mostrer嘆 come si pu嘆 scrivere un semplice programma per un telefono o tablet Android utilizzando Python e tools open source
1 of 22
Download to read offline
More Related Content
Programmazione android per esseri umani
1. LINUXDAY 2013
Programmazione Android
per esseri umani
Roberto Bettazzoni
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
ERLUG
1
2. LINUXDAY 2013
print hello world
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
2
6. LINUXDAY 2013
import web
webapp=web.application(('/(.*)', 'hello'), globals())
class hello:
def GET(self, name):
return /slideshow/programmazione-android-per-esseri-umani/31950507/"<html><body>Hello world</body></html>/slideshow/programmazione-android-per-esseri-umani/31950507/"
if __name__ == /slideshow/programmazione-android-per-esseri-umani/31950507/"__main__/slideshow/programmazione-android-per-esseri-umani/31950507/":
webapp.run()
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
6
7. LINUXDAY 2013
SL4A Script Layer for Android
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
7
8. LINUXDAY 2013
SL4A Script Layer for Android
Documentazione
sulle API
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
8
9. LINUXDAY 2013
import androidhelper
droid = androidhelper.Android()
droid.makeToast(/slideshow/programmazione-android-per-esseri-umani/31950507/"Hello world/slideshow/programmazione-android-per-esseri-umani/31950507/")
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
9
10. LINUXDAY 2013
import androidhelper
droid = androidhelper.Android()
droid.makeToast(/slideshow/programmazione-android-per-esseri-umani/31950507/"Hello world/slideshow/programmazione-android-per-esseri-umani/31950507/")
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
10
11. LINUXDAY 2013
import androidhelper
droid = androidhelper.Android()
droid.ttsSpeak(/slideshow/programmazione-android-per-esseri-umani/31950507/"Hello world/slideshow/programmazione-android-per-esseri-umani/31950507/")
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
11
12. LINUXDAY 2013
import androidhelper
droid = androidhelper.Android()
droid.smsSend(+39333666999,
/slideshow/programmazione-android-per-esseri-umani/31950507/"Hello world/slideshow/programmazione-android-per-esseri-umani/31950507/")
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
12
13. LINUXDAY 2013
import androidhelper
droid = androidhelper.Android()
droid.sendEmail(
to=you@youraddress.org,
subject=Ciao,
body=/slideshow/programmazione-android-per-esseri-umani/31950507/"Hello world/slideshow/programmazione-android-per-esseri-umani/31950507/")
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
13
14. LINUXDAY 2013
import smtplib
from email.mime.text import MIMEText
me = /slideshow/programmazione-android-per-esseri-umani/31950507/"roberto@bettazzoni.it/slideshow/programmazione-android-per-esseri-umani/31950507/"
you= /slideshow/programmazione-android-per-esseri-umani/31950507/"you@youraddress.org/slideshow/programmazione-android-per-esseri-umani/31950507/"
msg = MIMEText(/slideshow/programmazione-android-per-esseri-umani/31950507/"Hello world/slideshow/programmazione-android-per-esseri-umani/31950507/")
msg['Subject'] = /slideshow/programmazione-android-per-esseri-umani/31950507/"Ciao/slideshow/programmazione-android-per-esseri-umani/31950507/"
msg['From'] = me
msg['To'] = you
s = smtplib.SMTP('127.0.0.1')
s.sendmail(me, [you], msg.as_string())
s.quit()
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
14
15. LINUXDAY 2013
import androidhelper, web
urls = ('/(.*)', 'hello')
App = web.application(urls, globals())
Droid = androidhelper.Android()
class hello:
def GET(self, name):
location = Droid.getLastKnownLocation().result
location = location.get('network', location.get('gps'))
return /slideshow/programmazione-android-per-esseri-umani/31950507/"<html><body><h3>I am here</h3> <img src=/slideshow/programmazione-android-per-esseri-umani/31950507/" +
gmapUrl(location['latitude'],location['longitude'])+
/slideshow/programmazione-android-per-esseri-umani/31950507/"/></body></html>/slideshow/programmazione-android-per-esseri-umani/31950507/"
if __name__ == /slideshow/programmazione-android-per-esseri-umani/31950507/"__main__/slideshow/programmazione-android-per-esseri-umani/31950507/":
App.run()
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
15
19. LINUXDAY 2013
from kivy.app import App
from kivy.uix.label import Label
class HelloWorldApp(App):
def build(self):
return Label(text='Hello World')
if __name__ == '__main__':
HelloWorldApp().run()
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
19
20. LINUXDAY 2013
from kivy.app import App
from kivy.uix.button import Button
hw='Hello World'
class HelloWorldApp(App):
def build(self):
b = Button(text=hw, font_size=70)
def callback(instance):
b.text=hw if b.text[0]!=/slideshow/programmazione-android-per-esseri-umani/31950507/"H/slideshow/programmazione-android-per-esseri-umani/31950507/" else /slideshow/programmazione-android-per-esseri-umani/31950507/"Ciao mondo/slideshow/programmazione-android-per-esseri-umani/31950507/"
b.bind(on_press=callback)
return b
if __name__ == '__main__':
HelloWorldApp().run()
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
20
21. LINUXDAY 2013
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.label import Label
class HelloWorld(Widget):
def on_touch_down(self, touch):
with self.canvas:
Label(font_size=50, pos=(touch.x, touch.y),
text = /slideshow/programmazione-android-per-esseri-umani/31950507/"Hello World/slideshow/programmazione-android-per-esseri-umani/31950507/")
class HelloWorldApp(App):
def build(self):
return HelloWorld()
if __name__ == '__main__':
HelloWorldApp().run()
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
21
22. LINUXDAY 2013
GRAZIE PER L'ATTENZIONE
Le slides e le riprese audio/video
dell'intervento saranno disponibili su:
http://erlug.linux.it/linuxday/2013/
Bologna, 2013-10-26
ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
22