Aplicativos Android Usando Python e SL4A, Parte 1

Configurar seu Ambiente de Desempenho

Configure sua estação de trabalho do Windows para executar Scripting Layer for Android

Comments

Conteúdos da série:

Esse conteúdo é a parte # de # na série: Aplicativos Android Usando Python e SL4A, Parte 1

Fique ligado em conteúdos adicionais dessa série.

Esse conteúdo é parte da série:Aplicativos Android Usando Python e SL4A, Parte 1

Fique ligado em conteúdos adicionais dessa série.

Um equívoco comum sobre desenvolver para a plataforma Google Android é que você precisa escrever seu código na linguagem Java™ . Na verdade, há muitas opções por meio do projeto Scripting Layer for Android (SL4A). SL4A começou como um projeto de 20% pelo funcionário da Google Damon Kohler. Isso há quase dois anos e quatro versões principais.

SL4A fornece uma plataforma para diversas linguagens de script, incluindo Beanshell, Lua, Perl, Python e Rhino. Também há suporte para shell script básico. Hoje, a parte de Python do projeto SL4A se desenvolveu em um projeto próprio devido, em parte, à popularidade de Python e ao desejo de desacoplar os releases de nova funcionalidade de Python do ciclo principal de release de SL4A.

Este artigo foca o uso de Python para escrever aplicativos para a plataforma Android. Python é uma ferramenta excelente para escrever scripts simples e aplicativos complexos multiencadeados. A grande coisa sobre ter Python em Android é a oportunidade de usar as milhares de linhas de código não mencionadas já escritas e disponíveis gratuitamente. Python é uma linguagem fácil de aprender se nunca a tiver usado antes e você encontrará muitos recursos disponíveis na Internet para ajudá-lo a obter velocidade no processo.

Instalação e configuração

Você deve fazer download e instalar vários pré-requisitos antes de poder iniciar desenvolvimento com SL4A. O primeiro é um Java Development Kit (JDK) completo. É possível localizar a versão mais recente no site Oracle Developer.

Em seguida, você precisa do kit de desenvolvimento de software (SDK) Android . Duas opções de download estão disponíveis no site de desenvolvedor de Android: um arquivo .zip e um arquivo .exe. Ao fazer download e executar o arquivo .exe, será apresentada uma tela na qual você deve escolher quais versões do SDK e arquivos de suporte deseja instalar (consulte a Figura 1).

Figura 1. Escolher quais opções do SDK do Android deseja transferir por download
Escolher quais opções do SDK do Android deseja transferir por download
Escolher quais opções do SDK do Android deseja transferir por download

Para este artigo, instalei e testei tudo em uma máquina com o Windows® 7 de 64 bits.

Como este artigo é sobre o desenvolvimento de aplicativos para a plataforma Android usando Python, você obviamente precisa instalar o Python em sua máquina de desenvolvimento. O Windows não vem com o Python instalado. Ao escrever este artigo, a versão do SL4A Python é 2.6.2. Faça download da versão de 32 ou de 64 bits do Python 2.6 para ficar compatível.

É uma boa ideia incluir alguns links para o SDK do Android em sua instrução PATH para facilitar a ativação do SDK Manager e outras ferramentas. Para fazer isso no Windows 7, execute estas etapas:

  1. Pressione a tecla Windows e, em seguida, clique em Pesquisar.
  2. Na caixa de texto, insira Ambiente.
  3. Clique em Edit the system environment variables.
  4. Na janela que abre, clique em Environment Variables, em seguida, selecione a variável PATH na lista User variables .
  5. Clique em Edit e, em seguida, inclua o caminho para seu diretório das ferramentas do SDK do Android.

A cadeia de caracteres que você precisa incluir tem a seguinte aparência:

;C:\Users\paul\Downloads\android-sdk-windows\platform-tools

Você deve incluir o ponto e vírgula (;) antes do novo caminho para anexar um novo diretório. Após isso ser inserido, clique em OK três vezes.

Instalar SL4A em um dispositivo Android é semelhante ao processo para qualquer outro aplicativo Android. É possível varrer o código QR no site principal do projeto SL4A com seu dispositivo para fazer download do arquivo de instalação do SL4A. Ele deve ser ativado automaticamente quando o download for concluído. Neste ponto, você deve ver uma tela de instalação como aquela na Figura 2.

Figura 2. Tela de instalação do SL4A
Tela de instalação do SL4A

Clicar em Instalação inicia o processo.

A etapa final é instalar o interpretador Python em seu dispositivo. É possível fazer isso usando qualquer um de diversos métodos. A partir do emulador, é possível inserir sl4a download na caixa de procura do navegador (Figura 3).

Figura 3. A tela de download do SL4A
A tela de download do SL4A

Clicar no link PythonForAndroid_r4.apk inicia o download. Para realmente ativar o instalador, visualize a tela de notificação clicando e arrastando da parte superior da tela do emulador para a parte inferior da tela. Clicar na mensagem Download complete ativa o instalador do Python for Android (Figura 4).

Figura 4. Tela de instalação inicial do Python for Android
Tela de instalação inicial do Python for Android

Clicar em Instalação ativa um processo que faz download e descompacta diversos arquivos .zip. Para os propósitos deste artigo, simplesmente clique em Instalação na tela de instalação principal (Figura 5).

Figura 5. Tela de instalação principal do Python for Android
Tela de instalação principal do Python for Android

Você deve ver três janelas de progresso separadas. A primeira mostra o download e, em seguida, a extração dos arquivos no cartão SD. Se tudo funcionar, aparece uma mensagem "Installation Successful".

Básico do SDK do Android

Há dois métodos básicos para testar seu código Python usando SL4A: usar um emulador ou usar um dispositivo físico real. O SDK do Android fornece capacidade básica de emulador e as ferramentas para criar um dispositivo emulado com as mesmas características que um dispositivo físico. Em alguns casos, como com o complemento do tablet Samsung, há um emulador pré-configurado disponível para seu uso.

O SDK Manager funciona como um gerenciador de atualização e uma ferramenta de criação de dispositivo virtual. Toda vez que você ativa o SDK Manager, ele se conecta ao site de desenvolvedor do Android para verificar se há novos releases. (É possível efetuar bypass desse processo clicando em Cancelar.) Neste ponto, você deve ver a janela Android SDK e AVD Manager , mostrada na Figura 6.

Figura 6. Android SDK e AVD Manager
Android SDK e AVD Manager
Android SDK e AVD Manager

Selecionando Virtual devices na árvore de diretórios exibe todos os dispositivos virtuais Android (AVDs) anteriormente definidos na área de janela de detalhes. Para criar um novo dispositivo emulador, clique em Novo. Na janela Create New Android Virtual Device (AVD) , forneça as informações necessárias nos campos Nome, Destino e SD Card Size . A Figura 7 mostra as entradas para meu dispositivo de teste. O nome não deve conter espaços e você deve conceder pelo menos 100 MB para armazenamento. Escolha o número da versão apropriada do Android para seu dispositivo de destino. Essa lista suspensa exibe somente as opções disponíveis que foram anteriormente transferidas por download.

Figura 7. O Assistente Create New AVD
O Assistente Create New AVD
O Assistente Create New AVD

Em seguida, clique em Create AVD. Uma janela pop-up fornece os detalhes de seu novo dispositivo. Para ativar qualquer uma das imagens de emulador disponíveis, selecione o destino desejado e, em seguida, clique em Start. Na janela Launch Options , é possível continuar com os padrões para tamanho de tela ou selecionar a caixa de seleção Scale display to real size e escolher algo maior. Um valor igual a 7 parece funcionar bem (consulte a Figura 8). Para ativar o emulador com uma lista limpa, selecione a caixa de seleção Wipe user data .

Figura 8. Opções de ativação de AVD
Opções de ativação de AVD

Outra ferramenta indispensável fornecida com o SDK do Android é a Android Device Bridge (ADB). Essa ferramenta fornece funções como instalar aplicativos (arquivos .apk), copiar arquivos para ou a partir de um dispositivo e emitir comandos shell no dispositivo. Você também usa ADB para ativar SL4A efetivamente em um dispositivo para que seja possível executar programas a partir de sua estação de trabalho. Para estabelecer comunicação entre sua estação de trabalho host e um dispositivo, você deve usar ADB para encaminhar tráfego TCP/IP da porta 9999 para uma porta específica no dispositivo. Abra uma janela de comando e insira a seguinte linha de comando:

$ adb forward tcp:9999 tcp:42306

O número da segunda porta vem do dispositivo. Com a versão mais recente do SL4A, é possível configurar esse número nas preferências. Para o release padrão, é necessário usar o número que SL4A fornecer.

Agora, ative SL4A e, em seguida, clique em Menu. Entre as seis opções na parte inferior da janela, clique em View e , em seguida, clique em Interpreters (Figura 9).

Figura 9. Ativar um servidor remoto a partir do menu Interpreters do SL4A
Ativar um servidor remoto a partir do menu Interpreters do SL4A

Clique em Menu mais uma vez, em seguida, clique em Private para ativar um servidor privado.

Para um dispositivo real, a diferença é que Private inicia o servidor usando a porta USB e Public usa Wi-Fi. Se você visualizar a página de notificações novamente, verá que o serviço SL4A está em execução (Figura 10).

Figura 10. Tela de notificação do Android
Tela de notificação do Android
Tela de notificação do Android

Clique na mensagem para ver o número da porta real designado. Neste caso, o número de porta 42306 é usado para o segundo valor TCP no comando adb forward . Agora, você está pronto para realmente escrever algum código Python e testá-lo no dispositivo.

Hello World em Python for Android

É praticamente obrigatório em qualquer artigo de programação introdutório escrever um programa "hello world". Faço isso aqui para demonstrar o número de maneiras possíveis de escrever e testar seu código Python usando SL4A. Segue a aparência do código:

import android
droid = android.Android()
result = droid.makeToast('Hello, world!')

Toda linguagem de script SL4A usa um arquivo de importação—android.py para Python, neste caso —para configurar a interface entre o script e as interfaces de programação de aplicativos (APIs) subjacentes do Android. Esse código pode ser inserido diretamente em seu dispositivo no interpretador (consulte novamente A figura 9) ou usando o editor. Para usar o interpretador, na tela Interpreters , ative o interpretador de Python selecionando Python 2.6.2. Na tela resultante, é possível inserir o código acima; após a última linha, você deve ver uma janela pop-up com as palavras "Hello, world!"

Digitar em um dispositivo emulado ou real pode ser tedioso. O console IDLE e o editor do Python são indispensáveis quando combinados à ferramenta ADB para escrever código em um PC e testá-lo em um dispositivo Android. A única coisa que precisará é uma cópia local do arquivo android.py. É possível extraí-lo do arquivo python_extras_r14.zip disponível na página de downloads do SL4A ou transferi-lo do dispositivo usando o comando adb pull . Também é útil ter um diretório denominado SDCARD na raiz de sua unidade de sistema primário para espelhar o que está em seu dispositivo emulado. Isso facilita as coisas de uma perspectiva do caminho de arquivo sempre que você executar um script na máquina local que precisa acessar o sistema de arquivos. A Figura 11 mostra o script Hello World no console IDLE.

Figura 11. Hello World no console IDLE do Python
Hello World no console IDLE do Python
Hello World no console IDLE do Python

Se tiver ativado o servidor e executado o comando adb forward , não deverá ver nenhum erro e a mensagem "Toast" mostrada na Figura 12.

Figura 12. Mensagem pop-up do Hello World
Mensagem pop-up do Hello World

No Windows, é possível ativar uma janela de edição no IDLE clicando em File > New Window. Essa janela fornece capacidade completa de edição e teste de sua máquina de desenvolvimento para um dispositivo Android emulado ou real.


Recursos para download


Temas relacionados


Comentários

Acesse ou registre-se para adicionar e acompanhar os comentários.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Software livre
ArticleID=783684
ArticleTitle=Aplicativos Android Usando Python e SL4A, Parte 1: Configurar seu Ambiente de Desempenho
publish-date=01052012