際際滷

際際滷Share a Scribd company logo
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
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
LINUXDAY 2013

www.python.it

Bologna, 2013-10-26

ERLUG: Emilia Romagna Linux Users Group  http://erlug.linux.it

Roberto Bettazzoni, Programmazione Android per esseri umani.

3
LINUXDAY 2013

Qpython: python for Android

Bologna, 2013-10-26

ERLUG: Emilia Romagna Linux Users Group  http://erlug.linux.it

Roberto Bettazzoni, Programmazione Android per esseri umani.

4
LINUXDAY 2013

Bologna, 2013-10-26

ERLUG: Emilia Romagna Linux Users Group  http://erlug.linux.it

Roberto Bettazzoni, Programmazione Android per esseri umani.

5
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
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
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
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
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
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
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
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
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
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
LINUXDAY 2013

def gmapUrl(latitude, longitude):
return /slideshow/programmazione-android-per-esseri-umani/31950507/"'http://maps.googleapis.com/maps/api/staticmap?center=%s,
%s&zoom=12&size=400x400&sensor=false&markers=color:green|label:I|%s,%s'/slideshow/programmazione-android-per-esseri-umani/31950507/"
% (
latitude, longitude, latitude, longitude)

Bologna, 2013-10-26

ERLUG: Emilia Romagna Linux Users Group  http://erlug.linux.it

Roberto Bettazzoni, Programmazione Android per esseri umani.

16
LINUXDAY 2013

Interfaccia Utente

Bologna, 2013-10-26

ERLUG: Emilia Romagna Linux Users Group  http://erlug.linux.it

Roberto Bettazzoni, Programmazione Android per esseri umani.

17
LINUXDAY 2013

kivy.org

Bologna, 2013-10-26

ERLUG: Emilia Romagna Linux Users Group  http://erlug.linux.it

Roberto Bettazzoni, Programmazione Android per esseri umani.

18
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
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
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
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

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
  • 3. LINUXDAY 2013 www.python.it Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it Roberto Bettazzoni, Programmazione Android per esseri umani. 3
  • 4. LINUXDAY 2013 Qpython: python for Android Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it Roberto Bettazzoni, Programmazione Android per esseri umani. 4
  • 5. LINUXDAY 2013 Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it Roberto Bettazzoni, Programmazione Android per esseri umani. 5
  • 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
  • 16. LINUXDAY 2013 def gmapUrl(latitude, longitude): return /slideshow/programmazione-android-per-esseri-umani/31950507/"'http://maps.googleapis.com/maps/api/staticmap?center=%s, %s&zoom=12&size=400x400&sensor=false&markers=color:green|label:I|%s,%s'/slideshow/programmazione-android-per-esseri-umani/31950507/" % ( latitude, longitude, latitude, longitude) Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it Roberto Bettazzoni, Programmazione Android per esseri umani. 16
  • 17. LINUXDAY 2013 Interfaccia Utente Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it Roberto Bettazzoni, Programmazione Android per esseri umani. 17
  • 18. LINUXDAY 2013 kivy.org Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group http://erlug.linux.it Roberto Bettazzoni, Programmazione Android per esseri umani. 18
  • 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