Programmazione android per esseri umani

22
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

description

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

Transcript of Programmazione android per esseri umani

Page 1: Programmazione android per esseri umani

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

Page 2: Programmazione android per esseri umani

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”

Page 3: Programmazione android per esseri umani

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

Page 4: Programmazione android per esseri umani

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

Page 5: Programmazione android per esseri umani

Roberto Bettazzoni, Programmazione Android per esseri umani.

Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it

5

LINUXDAY 2013

Page 6: Programmazione android per esseri umani

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()

Page 7: Programmazione android per esseri umani

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

Page 8: Programmazione android per esseri umani

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

Page 9: Programmazione android per esseri umani

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")

Page 10: Programmazione android per esseri umani

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")

Page 11: Programmazione android per esseri umani

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")

Page 12: Programmazione android per esseri umani

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")

Page 13: Programmazione android per esseri umani

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")

Page 14: Programmazione android per esseri umani

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()

Page 15: Programmazione android per esseri umani

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()

Page 16: Programmazione android per esseri umani

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)

Page 17: Programmazione android per esseri umani

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

Page 18: Programmazione android per esseri umani

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

Page 19: Programmazione android per esseri umani

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()

Page 20: Programmazione android per esseri umani

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()

Page 21: Programmazione android per esseri umani

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()

Page 22: Programmazione android per esseri umani

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/