LINUXDAY 2013

Programmazione Android
per esseri umani
Roberto Bettazzoni

Bologna, 2013-10-26

ERLUG: Emilia Romagna Linu...
LINUXDAY 2013

print “hello world”

Bologna, 2013-10-26

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

...
LINUXDAY 2013

www.python.it

Bologna, 2013-10-26

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

Robert...
LINUXDAY 2013

Qpython: python for Android

Bologna, 2013-10-26

ERLUG: Emilia Romagna Linux Users Group – http://erlug.li...
LINUXDAY 2013

Bologna, 2013-10-26

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

Roberto Bettazzoni, P...
LINUXDAY 2013

import web
webapp=web.application(('/(.*)', 'hello'), globals())
class hello:
def GET(self, name):
return "...
LINUXDAY 2013

SL4A Script Layer for Android

Bologna, 2013-10-26

ERLUG: Emilia Romagna Linux Users Group – http://erlug....
LINUXDAY 2013

SL4A Script Layer for Android
Documentazione
sulle API

Bologna, 2013-10-26

ERLUG: Emilia Romagna Linux Us...
LINUXDAY 2013

import androidhelper
droid = androidhelper.Android()
droid.makeToast("Hello world")

Bologna, 2013-10-26

E...
LINUXDAY 2013

import androidhelper
droid = androidhelper.Android()
droid.makeToast("Hello world")

Bologna, 2013-10-26

E...
LINUXDAY 2013

import androidhelper
droid = androidhelper.Android()
droid.ttsSpeak("Hello world")

Bologna, 2013-10-26

ER...
LINUXDAY 2013

import androidhelper
droid = androidhelper.Android()
droid.smsSend(“+39333666999”,
"Hello world")

Bologna,...
LINUXDAY 2013

import androidhelper
droid = androidhelper.Android()
droid.sendEmail(
to=“you@youraddress.org”,
subject=”Ci...
LINUXDAY 2013

import smtplib
from email.mime.text import MIMEText
me = "roberto@bettazzoni.it"
you= "you@youraddress.org"...
LINUXDAY 2013

import androidhelper, web
urls = ('/(.*)', 'hello')
App = web.application(urls, globals())
Droid = androidh...
LINUXDAY 2013

def gmapUrl(latitude, longitude):
return "'http://maps.googleapis.com/maps/api/staticmap?center=%s,
%s&zoom...
LINUXDAY 2013

Interfaccia Utente

Bologna, 2013-10-26

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

R...
LINUXDAY 2013

kivy.org

Bologna, 2013-10-26

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

Roberto Bet...
LINUXDAY 2013

from kivy.app import App
from kivy.uix.label import Label
class HelloWorldApp(App):
def build(self):
return...
LINUXDAY 2013

from kivy.app import App
from kivy.uix.button import Button
hw='Hello World'
class HelloWorldApp(App):
def ...
LINUXDAY 2013

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.label import Label
class HelloWor...
LINUXDAY 2013

GRAZIE PER L'ATTENZIONE
Le slides e le riprese audio/video
dell'intervento saranno disponibili su:

http://...
Upcoming SlideShare
Loading in …5
×

Programmazione android per esseri umani

551 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Programmazione android per esseri umani

  1. 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. 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. 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. 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. 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. 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() Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Roberto Bettazzoni, Programmazione Android per esseri umani. 6
  7. 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. 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. 9. LINUXDAY 2013 import androidhelper droid = androidhelper.Android() droid.makeToast("Hello world") Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Roberto Bettazzoni, Programmazione Android per esseri umani. 9
  10. 10. LINUXDAY 2013 import androidhelper droid = androidhelper.Android() droid.makeToast("Hello world") Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Roberto Bettazzoni, Programmazione Android per esseri umani. 10
  11. 11. LINUXDAY 2013 import androidhelper droid = androidhelper.Android() droid.ttsSpeak("Hello world") Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Roberto Bettazzoni, Programmazione Android per esseri umani. 11
  12. 12. LINUXDAY 2013 import androidhelper droid = androidhelper.Android() droid.smsSend(“+39333666999”, "Hello world") Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Roberto Bettazzoni, Programmazione Android per esseri umani. 12
  13. 13. LINUXDAY 2013 import androidhelper droid = androidhelper.Android() droid.sendEmail( to=“you@youraddress.org”, subject=”Ciao”, body="Hello world") Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Roberto Bettazzoni, Programmazione Android per esseri umani. 13
  14. 14. LINUXDAY 2013 import smtplib from email.mime.text import MIMEText me = "roberto@bettazzoni.it" you= "you@youraddress.org" msg = MIMEText("Hello world") msg['Subject'] = "Ciao" 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. 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() Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Roberto Bettazzoni, Programmazione Android per esseri umani. 15
  16. 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) Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Roberto Bettazzoni, Programmazione Android per esseri umani. 16
  17. 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. 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. 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. 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]!="H" else "Ciao mondo" 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. 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 = "Hello World") 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. 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

×