Programmazione Android per esseri umanierlug.linux.it/linuxday/2013/contrib/slides/... · Qpython:...

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

Transcript of Programmazione Android per esseri umanierlug.linux.it/linuxday/2013/contrib/slides/... · Qpython:...

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/