2. Review
1ª Aula
Apresentação de Python
Cenário de Python em Mobile & Embedded
Ciclo de Desenvolvimento de linguagens interpretadas
Sintaxe de Python
Interpretador Interativo
Variáveis e Tipos
Strings
Listas e Tuplas
Dicionários
Laços
Funções
4. Orientação a Objetos com Python
A estrutura de uma Classe
class NomeDaClasse(object):
def metodoUm(self, argumento1):
self.atributo1 = argumento1
def metodoDois(self):
print self.atributo1
Gerando uma instância
MeuObjeto = NomeDaClasse()
5. Orientação a Objetos com Python
O método construtor
class NomeDaClasse(object):
def __init__(self, argumento1):
print 'Fui inicializado!'
self.atributo1 = argumento1
def metodoDois(self):
print self.atributo1
6. Orientação a Objetos com Python
Atributos Privados e Protegidos
Não existe implementação que assegure isso
Convenção
_nomeDoMetodo (1 underscore)
Não deve ser acessado externamente
class NomeDaClasse(object):
def __init__(self, argumento1):
print 'Fui inicializado!'
self.atributo1 = argumento1
def __metodoDois(self):
print 'Esse método é privado! :)'
17. SDK Python for s60
Não disponível para Linux (ainda)
Passos pra Instalação (no Windows)
Baixe os 3 instaladores em:
http://[MEU_IP]/
Execute o Instalador do ActivePerl
Descompacte o S60-SDK e execute o setup.exe
next → next → install
Descompacte o PythonForS60-SDK
Copie o conteúdo de epoc32/ para:
C:Symbian9.2S60...Epoc32
Seus códigos vão em:
C:Symbian9.2S60...Epoc32winscwcpython
20. PyS60
appuifw (Application User Interface Framework)
Interfaces Gráficas nativas da s60
appuifw.note: Notificações 'pop-up'
appuifw.query: Janela de input (1 campo)
appuifw.multi_query: Janela de input (2 campos)
appuifw.popup_menu: Menu Simples
appuifw.selection_list: Lista com Busca
appuifw.multi_selection_list: Lista capaz de selecionar vários
itens
21. PyS60 - appuifw
appuifw.note
Descrição: Simples Janela de Notificação
Sintaxe: appuifw.note(texto, tipo)
Tipos podem ser:
Info
Error
Conf
PyS60 - appuifw
22. PyS60 - appuifw
appuifw.query
Entrada de Dados simples
Sintaxe: appuifw.query(texto,tipo[,valor inicial])
Tipos podem ser:
Text
Number
Date
Time
Code
Query
Float
23. PyS60 - appuifw
appuifw.multi_query
Entrada de Dados Com 2 Campos
Sintaxe: appuifw.multi_query(label1,label2)
24. PyS60 - appuifw
appuifw.popup_menu
Menu 'Pop-up'
Sintaxe: appuifw.popup_menu(lista_com_escolhas[,label])
Retorna o indice da lista_de_escolhas
25. PyS60 - appuifw
appuifw.selection_list
Seleção com busca (lista grande)
Sintaxe: appuifw.selection_list(lista_com_escolhas[,busca])
Busca pode ser 0 ou 1
Retorna o indice da lista_com_escolhas
26. PyS60 - appuifw
appuifw.multi_selection_list
Seleção com busca e capacidade de seleção de mais de um
item
Sintaxe: appuifw.multi_selection_list(lista[,style,busca])
Busca pode ser 0 ou 1
27. PyS60 - messaging
messaging
Módulo de manipulação de mensagens SMS
Sintaxe: messaging.sms_send('+Numero',u'Mensagem')
28. PyS60 - messaging
inbox
Acessando a Caixa de Entrada
Import inbux, appuifw
box = inbox.Inbox()
for sms_id in box.sms_messages()[:5]:
msg = box.content(sms_id)
appuifw.note(msg)
33. PyS60 – Estrutura de uma Aplicação appuifw
appuifw.app.body
Pode ser:
Canvas
Form
Listbox
Text
Área pode ser aumentada!
appuifw.app.screen = 'full'
appuifw.app.screen = 'large'
appuifw.app.screen = 'normal'
34. PyS60 - Sound
Text to Speech
Import appuifw. audio
texto = appuifw.query(u”Digite uma palavra:”, “text”)
audio.say(text)