O PyS60 é, como o nome sugere, uma versão do Python que roda sobre o S60, oferecendo acesso aos módulos e recursos do sistema. Ele é uma boa opção de ferramenta de programação para smartphones, pois usa uma sintaxe simples, sem grandes diferenças em relação ao interpretador Python para PCs.
Você pode baixar o interpretador Python para o S60 através do:
https://garage.maemo.org/projects/pys60/
... ou do: http://sourceforge.net/projects/pys60
Você vai precisar tanto do interpretador Python propriamente dito (o arquivo "Python_1.9.0_3rdEd.sis", ou similar) quanto do PythonScriptShell, que oferece o prompt para executar comandos.
Podemos escrever um "olá mundo" em PyS60 com apenas duas linhas, importando o módulo "audio", que inclui as funções relacionadas à reprodução e gravação de áudio e o acesso ao sintetizador de voz. A partir daí, podemos usar a função "audio.say" para fazer o aparelho falar, veja só:
import audio
audio.say("Tenha um bom dia")
Se você preferir que a mensagem seja exibida em uma janela de texto, pode usar a função "appuifw.note", que faz parte do módulo "appuifw". Este é o módulo responsável por criar janelas e diálogos, por isso é usado por praticamente todos os programas:
import appuifw
appuifw.note(u"Tenha um bom dia")
Para fazer uma pergunta, e armazenar a resposta em uma variável, você poderia usar a seguinte função:
import appuifw
arquivo = appuifw.query(u"Digite o nome do arquivo", "text")
A função "appuifw.query" permite fazer perguntas, enquanto o "arquivo =" no início da linha faz com que o texto digitado seja armazenado na variável especificada, que pode ser usada para abrir ou salvar um arquivo, por exemplo.
A riqueza do Python está em permitir o acesso aos recursos do aparelho, tirando fotos, enviando ou recebendo arquivos, usando o acelerômetro, acessando a agenda de contatos, enviando mensagens SMS e assim por diante. Para tirar uma foto com a câmera, por exemplo, você usaria:
import camera
foto = camera.take_photo()
photo.save("E:\\foto.jpg")
Como pode imaginar, o módulo "camera" carrega as funções relacionadas à câmera, que permite tirar fotos, gravar vídeos e ativar o LED do flash. Uma das funções mais simples é a "camera.take_photo", que simplesmente tira uma foto na resolução default. Como queremos que a foto seja salva em um arquivo, armazenamos a foto na variável "foto" e, em seguida, usamos a função "photo.save" para salvá-la no arquivo "foto.jpg", no diretório raiz do cartão de memória, que é visto pelo sistema como E:\.
Com apenas estas três linhas, o programa não teria muita utilidade, já que ele iria sempre salvar a foto no mesmo arquivo. Entretanto, se você combinasse a função de tirar a foto com a de ler uma variável (do exemplo anterior), poderia fazer com que o programa perguntasse o nome do arquivo antes de salvar. A partir daí, você poderia adicionar funções para definir a resolução, enviar a foto por e-mail (ou via Bluetooth) e assim por diante. O grande destaque do Python é justamente oferecer uma curva de aprendizado mais suave, permitindo que você comece com scripts simples e, gradualmente, adicione novos truques.
A forma mais simples de rodar o programa é criar um arquivo de texto (você pode usar o notepad do Windows, o Gedit ou qualquer outro editor de texto puro) contendo os comandos e transferí-lo para o smartphone. Salve seu arquivo de texto com a extensão ".py" e copie-o para a pasta "Python" do cartão de memória (ou da memória interna). Em seguida, abra o interpretador Python e use o "Options > Run Script" para executá-lo:
Uma forma bastante conveniente de trabalho é usar o perfil de transferência de arquivos do Bluetooth para acessar os arquivos do smartphone. Isso permite que você edite o script diretamente (sem precisar primeiro transferí-lo para o PC) e possa executá-lo rapidamente a cada mudança, para testar novas rotinas e corrigir os erros conforme eles apareçam.
Para scripts simples, como os dos exemplos, você pode também usar o console ("Opções > Interactive console"), que permite escrever as instruções diretamente, fazendo com que o sistema execute os comandos linha a linha:
Você pode ver mais exemplos de scripts em Python que executam as mais diversas funções (de um gravador de som a um servidor web) no Mobile Python: http://www.mobilenin.com/mobilepythonbook/examples.html
Outros sites com exemplos de código são o Cyke64 (http://cyke64.googlepages.com/), o DZone (http://snippets.dzone.com/tags/series60) e o Croozeus (http://www.croozeus.com/).
Outra parada obrigatória é o Wiki: http://wiki.opensource.nokia.com/projects/Python_for_S60
Na hora de distribuir os aplicativos que escrever, você tem a opção de simplesmente disponibilizar os arquivos .py, que podem ser executados dentro do interpretador, ou transformá-los em arquivos .sis, que se comportam como aplicativos nativos do sistema.
A segunda opção é a ideal se você pretende distribuir os aplicativos para uma platéia mais abrangente, já que melhora a apresentação e elimina o incômodo de precisar executá-los dentro do interpretador Python. Uma vez empacotados, os programas aparecem no menu e são executados exatamente da mesma forma que outros aplicativos.
Você pode gerar os arquivos .sis com o Ensymble, disponível no: http://code.google.com/p/ensymble/
Ele é, na verdade, um conjunto de scripts em Python, que podem ser usados tanto no Linux quanto no Windows (o comando é o mesmo nas duas plataformas); é necessário apenas que o interpretador Python esteja disponível. Ele (o interpretador) já vem instalado por padrão no Linux e a versão Windows pode ser baixada no: http://www.python.org/download/
Com o Python instalado, use o comando "python -V" para descobrir qual é a versão que está instalada, como em:
$ python -V
Python 2.4.4
No site do Ensymble, você encontra diferentes versões do script, correspondentes às versões do Python. Como estou usando a versão 2.4.4, baixei o arquivo "ensymble_python2.4-0.27.py".
O uso é bastante simples. Coloque o arquivo do Ensymble dentro de uma pasta, junto com o arquivo .py do seu aplicativo. Em seguida, acesse a pasta via terminal (no Windows use o prompt do DOS) e use o comando de conversão:
$ python ensymble_python2.4-0.27.py py2sis --vendor=GDH hello.py hello.sis
Dentro do comando, o "--vendor=" especifica o nome do desenvolvedor (ou seja, você), que é mostrado ao usuário quando ele instala o pacote. O "hello.py" é o arquivo de entrada, enquanto o "hello.sis" é o arquivo que será gerado. O nome do programa (que aparece nos menus) é, por padrão, o mesmo nome do arquivo, mas você pode especificar outro nome usando o parâmetro "--appname=Nome".
O script gera um arquivo .sis auto-assinado, que pode ser instalado diretamente em aparelhos com o S60 3ed. Como todo arquivo auto-assinado, ele exibe o tradicional aviso de segurança, mas, com exceção disso, a instalação ocorre sem percalços, como em qualquer outro aplicativo.
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Você está lendo um tópico de demonstração do livro Smartphones, Guia Prático:
Autor: Carlos E. Morimoto
Páginas: 432
Formato: 23 x 16 cm
Editora: GDH Press e Sul Editores
ISBN: 978-85-99593-14-1
» R$ 48,00 + frete
(Preço nas livrarias: R$ 60)
Descrição:
Quando falamos em "smartphone", o primeiro modelo que vem à mente é o iPhone, mas ele é na verdade apenas mais um em uma briga que envolve aparelhos baseados em diversas outras plataformas, incluindo o Symbian, o Windows Mobile, o BlackBerry e o Android. Com tantas plataformas, fabricantes, modelos e serviços diferentes, é complicado fazer a escolha certa. Este livro é um guia para entender as opções, as tecnologias usadas e as variações de recursos entre os diferentes modelos. Ele mostra como obter o máximo mesmo de modelos relativamente simples e baratos, permitindo que você tire o melhor proveito da tecnologia, sem precisar gastar muito.