Python For Nokia S60
Python For Nokia S60
Daniel Ashbrook
[email protected]
Introduction
● Hello world!
import appuifw
appuifw.note(u“Hello World!”,\
“info”)
picked = appuifw.popup_menu(list, \
u”Pick an item:”)
if picked == 0:
appuifw.note(u”Picked item one!”)
if picked == 1:
appuifw.note(u”Picked item two!”)
if picked == 2:
appuifw.note(u”Picked item three!”)
Take a picture
● import camera
print camera.image_sizes()
sndfile = audio.Sound.open(u”D:\\test.wav”)
sndfile.record()
sndfile.stop()
● Play audio
sndfile.play()
Send an SMS
● import messaging
messaging.sms_send(u”4045551234”, u”This \
is a test message! Hooray!”)
● import messaging
import location
phnum = u”4045551234”
myloc = u”I'm at Cell ID %d!” % \
location.gsm_location()[3]
messaging.sms_send(phnum, myloc)
Use the Canvas
● import appuifw
import graphics
canvas = appuifw.Canvas()
appuifw.app.screen = ”large”
appuifw.app.body = canvas
def quit():
global running
running = 0
appuifw.app.exit_key_handler = quit
while running:
do stuff here
Use the Canvas 3
import appuifw running = 1
import e32
import graphics while running:
import sysinfo x1 = random.randrange(res_x)
import random x2 = random.randrange(x1, res_x)
y1 = random.randrange(res_y)
def quit(): y2 = random.randrange(y1, res_y)
global running color = random.randrange(0xffffff)
running = 0 canvas.rectangle((x1, y1, x2, y2),
color, fill=color)
res_x, res_y = e32.ao_yield()
sysinfo.display_pixels()
appuifw.app.exit_key_handler =
quit
appuifw.app.screen = 'large'
canvas = appuifw.Canvas()
appuifw.app.body = canvas
Canvas + Camera 1
import appuifw while running:
import e32 image = camera.take_photo(size =
import graphics (160, 120))
import camera canvas.blit(image)
e32.ao_yield()
def quit():
global running
running = 0
appuifw.app.exit_key_handler =
quit
appuifw.app.screen = 'large'
canvas = appuifw.Canvas()
appuifw.app.body = canvas
running = 1
import appuifw
Canvas + Camera 2a
import e32
import graphics
import camera
import key_codes
running = 0
take_picture = 0
class KeyboardHandler(object):
def handle_event(self, event):
global take_picture
if event["type"] == appuifw.EEventKeyDown:
if event["scancode"] == key_codes.EScancodeSelect:
take_picture = 1
elif event["scancode"] == key_codes.EScancodeNo:
running = 0
kbhandle = KeyboardHandler()
appuifw.app.screen = 'large'
canvas = appuifw.Canvas(event_callback = kbhandle.handle_event)
appuifw.app.body = canvas
Canvas + Camera 2b
running = 1
while running:
if(take_picture):
im = camera.take_photo(size = (1280, 960))
im.save("E:\\Images\\image.jpg")
running = 0
else:
image = camera.take_photo(size = (160, 120))
canvas.blit(image)
e32.ao_yield()
Handy Links
● My S60 Python links
● http://del.icio.us/anjiro/python+nokia
● S60 Python tutorial pages
● http://www.mobilenin.com/pys60/menu.htm
● Nokia's official Python discussion forum
● http://discussion.forum.nokia.com/forum/forumdisplay.php?f=102