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

Esta série de artigos explora como usar Python e Scripting Layer for Android (SL4A) para criar aplicativos para a plataforma Google Android. Este artigo, o primeiro da série, mostra o que precisa ser feito para ter tudo instalado e em execução.

Paul Ferrill, CTO, ATAC

Paul Ferrill escreve nos meios de comunicação de comércio de computadores há mais de 20 anos. Começou escrevendo revisões de rede para o PC Magazine sobre produtos como LANtastic e versões anteriores do Novell Netware. Paul é graduado e possui mestrado em engenharia elétrica e escreveu softwares para mais arquiteturas e plataformas de computador do que consegue se lembrar.



05/Jan/2012

Sobre esta série

A Parte 1, este artigo, inicia a série mostrando como instalar tudo que é necessário para começar a escrever scripts Python em seu dispositivo Android. A Parte 2 apresentará exemplos de script úteis para realizar trabalho real. Também explorará algumas das chamadas de API do Android disponíveis, incluindo as várias janelas. Por fim, a série explorará como criar uma interface com o usuário completa exatamente como o faria na linguagem Java.

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

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.

Evitar espaços em nomes de diretórios

Algumas das ferramentas, como o emulador, não podem ser ativadas se você instalar o SDK em um diretório com espaços no nome. Isso inclui o local padrão de C:\Program Files\android-sdk-windows.

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

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

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

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

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

Aprender

Obter produtos e tecnologias

  • Faça o download do SL4A ou visite o unofficial release site.
  • Faça o download do Python for Android.
  • Faça download do SDK do Android.
  • Faça download do JDK mais recente.
  • Faça o download e experimente o IBM Mobile Technology Preview, um conjunto de amostras de código e serviços para ajudá-lo a começar a desenvolver aplicativos remotos que ampliam e se integram à sua empresa. A visualização inclui um serviço de notificação RESTful; PhoneGap, uma estrutura de software livre para o desenvolvimento de aplicativos híbridos remotos; um tempo de execução WebSphere Application Server leve; e amostras de código para que você possa ver como tudo funciona.
  • O IBM WebSphere Application Server Feature Pack para web 2.0 e Dispositivo móvel inclui o IBM Dojo 1.7 Toolkit, novos blocos de construção rich Internet application (RIA) e remoto e um componente de diagrama com base em Dojo. Com as ferramentas acompanhantes do Rational, o Feature Pack o ajuda e adaptar e implantar aplicativos WebSphere desenvolvidos originalmente para navegadores desktop em dispositivos móveis.
  • Avalie os produtos IBM da maneira que for melhor para você: faça download da versão de teste de um produto, avalie um produto on-line, use-o em um ambiente de nuvem ou passe algumas horas na SOA Sandbox aprendendo a implementar Arquitetura Orientada a Serviços de modo eficiente.

Discutir

  • Participe da comunidade do developerWorks. Entre em contato com outros usuários do developerWorks e explore os blogs, fóruns, grupos e wikis voltados para desenvolvedores.

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


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