Roberto Bettazzoni, Programmazione Android per esseri umani. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it 1 LINUXDAY 2013 Programmazione Android per esseri umani Roberto Bettazzoni ERLUG
Jan 23, 2015
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
1
LINUXDAY 2013
Programmazione Android per esseri umani
Roberto Bettazzoni
ERLUG
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
2
LINUXDAY 2013
print “hello world”
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
3
LINUXDAY 2013
www.python.it
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
4
LINUXDAY 2013
Qpython: python for Android
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
5
LINUXDAY 2013
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
6
LINUXDAY 2013
import web
webapp=web.application(('/(.*)', 'hello'), globals())
class hello: def GET(self, name): return "<html><body>Hello world</body></html>"
if __name__ == "__main__": webapp.run()
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
7
LINUXDAY 2013
SL4A Script Layer for Android
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
8
LINUXDAY 2013
SL4A Script Layer for Android
Documentazionesulle API
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
9
LINUXDAY 2013
import androidhelperdroid = androidhelper.Android()
droid.makeToast("Hello world")
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
10
LINUXDAY 2013
import androidhelperdroid = androidhelper.Android()
droid.makeToast("Hello world")
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
11
LINUXDAY 2013
import androidhelperdroid = androidhelper.Android()
droid.ttsSpeak("Hello world")
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
12
LINUXDAY 2013
import androidhelperdroid = androidhelper.Android()
droid.smsSend(“+39333666999”,"Hello world")
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
13
LINUXDAY 2013
import androidhelperdroid = androidhelper.Android()
droid.sendEmail(to=“[email protected]”, subject=”Ciao”,body="Hello world")
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
14
LINUXDAY 2013
import smtplibfrom email.mime.text import MIMEText
me = "[email protected]"you= "[email protected]"msg = MIMEText("Hello world")msg['Subject'] = "Ciao"msg['From'] = memsg['To'] = yous = smtplib.SMTP('127.0.0.1')s.sendmail(me, [you], msg.as_string())s.quit()
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
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 "<html><body><h3>I am here</h3> <img src=" +\
gmapUrl(location['latitude'],location['longitude'])+\ "/></body></html>"
if __name__ == "__main__": App.run()
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
16
LINUXDAY 2013
def gmapUrl(latitude, longitude):return "'http://maps.googleapis.com/maps/api/staticmap?center=%s,
%s&zoom=12&size=400x400&sensor=false&markers=color:green|label:I|%s,%s'" % (
latitude, longitude, latitude, longitude)
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
17
LINUXDAY 2013
Interfaccia Utente
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
18
LINUXDAY 2013
kivy.org
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
19
LINUXDAY 2013
from kivy.app import Appfrom kivy.uix.label import Label
class HelloWorldApp(App): def build(self): return Label(text='Hello World')
if __name__ == '__main__': HelloWorldApp().run()
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
20
LINUXDAY 2013
from kivy.app import Appfrom 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]!="H" else "Ciao mondo"
b.bind(on_press=callback) return b
if __name__ == '__main__': HelloWorldApp().run()
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
21
LINUXDAY 2013
from kivy.app import Appfrom kivy.uix.widget import Widgetfrom 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 = "Hello World")
class HelloWorldApp(App): def build(self): return HelloWorld()
if __name__ == '__main__': HelloWorldApp().run()
Roberto Bettazzoni, Programmazione Android per esseri umani.
Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
22
LINUXDAY 2013
GRAZIE PER L'ATTENZIONELe slides e le riprese audio/video
dell'intervento saranno disponibili su:
http://erlug.linux.it/linuxday/2013/