46
Desenvolvendo Aplicações em Android Esta apostila é uma coletânea de páginas da internet testadas e analisadas. Prof. Antonio Sérgio Nogueira Veja em: http://www.thecodebakers.org/p/licao-1-desenvolvimento-para-android.html http://www.tecmundo.com.br/google/11458-google-app-inventor-o-criador-de-apps-para- android-para-quem-nao-sabe-programar.htm http://www.appinventor.org

Android - Notas de aula

Embed Size (px)

DESCRIPTION

Usando o MIT App Inventor para desenvolver aplicativos Android. O uso do Eclipse para desenvolver em Android.

Citation preview

Page 1: Android - Notas de aula

Desenvolvendo Aplicações em Android

Esta apostila é uma coletânea de páginas da internet testadas e analisadas.

Prof. Antonio Sérgio Nogueira

Veja em: http://www.thecodebakers.org/p/licao-1-desenvolvimento-para-android.html

http://www.tecmundo.com.br/google/11458-google-app-inventor-o-criador-de-apps-para-android-para-quem-nao-sabe-programar.htm

http://www.appinventor.org

Page 2: Android - Notas de aula

Sumário

1. Plataforma Android.............................................................3

2. Google App Inventor.........................................................................7

3. Ambiente de desenvolvimento Android........................................36

Page 3: Android - Notas de aula

1. Plataforma Android

A plataforma Android é baseada em sistema operacional Linux, adaptada para funcionamento em dispositivos móveis, como: smart phones, PDAs e Tablets. Para o desenvolvimento de aplicativos, foi disponibilizada uma máquina virtual Dalvik, especialmente otimizada para uso em dispositivos móveis, além de um ambiente de programação completo, com componentes visuais, de acesso a dados e redes. Interessante notar é que a máquina virtual Dalvik é um projeto Open Source (http://code.google.com/p/dalvik/), e NÃO É UMA MÁQUINA VIRTUAL JAVA ® ! Isso mesmo: DALVIK NÃO É JAVA! Existe uma aplicação, chamada “dx”, que pode converter o bytecode compilado a partir da máquina virtual Java (especificação da Oracle), no bytecode da Dalvik. A Google disponibilizou um ambiente de programação baseado em Java ®, que permite o desenvolvimento de aplicações para a plataforma Android. Ele possui emuladores de dispositivos Android e conversores de bytecode.

Segundo pesquisa da empresa Canalys, no quatro trimestre de 2010, quase 33 milhões de smartphones equipados com o sistema Android foram entregues, comparado com 31 milhões equipados com o sistema Symbian, da Nokia.

Arquitetura do ambiente Android

A arquitetura do ambiente de desenvolvimento Android é dividida em camadas. Sua aplicação roda na camada superior, por exemplo: contatos, telefone, jogos, calendário, seu programa etc. Abaixo desta camada, vem um framework de componentes, que formam uma API de gerenciamento e serviços para uso das aplicações.

Abaixo da camada de framework, temos as bibliotecas de serviços, como OpenGL e SQLite, e as bibliotecas principais do ambiente, além da própria máquina virtual Dalvik.

Finalmente, abaixo de tudo, temos o Kernel Linux.Embora seja possível, devido a

Page 4: Android - Notas de aula

grande diversidade de dispositivos, não é recomendado programar aplicações em C/C++. O ambiente de programação Android fornece tudo o que você necessita para criar aplicações sinistras! Você não precisa programar em C/C++ ou usar chamadas ao Kernel. Tudo o que necessita para criar aplicações Android, é do SDK e de um ambiente de programação Java.

Cada aplicação Android é executada por uma instâncla da máquina virtual Dalvik,

rodando em um processo separado dentro do sistema operacional.

Componentes

Uma aplicação Android é um conjunto de componentes, que podem ser:

• Activities – atividades ou telas; • Services – serviços em background; • Content Providers – disponibilizam dados; • Broadcast Receivers – respondem a avisos gerais do sistema;

Uma aplicação Android é orientada a eventos. Um evento é um sinal, que pode ter sido originado pelo usuário (um toque) ou não (o timer, o bloqueio de tela etc). Logo, uma aplicação dividida em diversos tipos de componentes (activities, services etc), que compartilham um nome de pacote (sim, é muito importante) e de aplicação comum, por exemplo:

br.com.thecodebakers.hpp.Hppfree

Os tipos de componentes são declarados e implementados na camada “framework”, e você os estende para criar seus componentes específicos.

View e ViewGroups

Uma View é um elemento de interface. Comparando com uma página HTML, seriam os elementos de formulário, como: botões, caixa de texto, radio buttons etc. As Views podem gerar e receber Eventos, que podem ser interceptados no código-fonte. As Views podem ser agrupadas em ViewGroups, que fornecem o layout de arrumação na tela. Existem Views fornecidas pelo framework, que já agregam a parte visual e algum tipo de comportamento. São chamadas de “Widgets”.

Page 5: Android - Notas de aula

Se a sua aplicação possuir algum tipo de interface visual, o que é o caso para a maioria delas, então conterá algumas Telas (activities), com Layouts (ViewGroups) e Views arrumadas nelas. É através das Views que você e o usuário se comunicam.

Activity

Uma Activity é uma tela onde o usuário pode fazer algo. Note que o relacionamento entre Activity e caso de uso não é 1 para 1. Um caso de uso pode envolver várias activities.

Para criar uma Activity é necessário criar um arquivo de layout, que contém um ViewGroup e um ou mais ViewGroups ou Views internos, todos arrumados de acordo com a usabilidade da sua aplicação. Depois, é necessário criar a subclasse de Activity, que será invocada quando o usuário solicitar. A parte de código é quem comanda o espetáculo, usando a parte de layout.

Todos os eventos gerados pelas Views do Layout, e pelos controles do aparelho (botão de “menu”, “menu de contexto” e botão “back”) poderão ser tratados no código de sua activity.

Uma activity pode iniciar outros componentes de sua aplicação, como: outras Activities, Services etc;

Service

http://developer.android.com/guide/topics/fundamentals/services.html

Um componente que executa operações de longo prazo e em background;Podemos iniciar um service em outro componente. Ele continuará a executar mesmo que o usuário mude de aplicação. Outros componentes podem se conectar com o nosso service. Exemplos: I/O, serviços de rede, de GPS, de alerta etc.

Imagine uma aplicação de vendas. Os vendedores recebem atualizações de Clientes e as acessam através da sua aplicação, o download automático de atualizações poderia ser feito por um Service de sua aplicação. Um service, uma instância de: android.app.Service, fica rodando em Background e pode executar tarefas longas, repetitivas ou a intervalos

Page 6: Android - Notas de aula

determinados. E também pode ser acessado por outras aplicações. Um Media Player, por exemplo, utiliza um Service, que fica tocando a música mesmo que a interface do media player seja fechada. Sua aplicação pode criar seus próprios Services ou usar Services fornecidos por outros.

Content Provider

http://developer.android.com/guide/topics/providers/content-providers.html

Amazenam e recuperam dados, disponibilizando-os para outras aplicações. Exemplos: Contacts, Agenda etc. Você também pode criar Content Providers para outras aplicações;

O Android vem com vários Content Providers, como por exemplo as informações de contato. Você pode obter a lista de contatos do usuário (desde que autorizado por ele), acrescentar, remover etc. Você não precisa criar um Content Provider para lidar com os dados de sua aplicação, mas, se quiser compartilhá-los, então terá que pensar nisto. Como as aplicações Android são muito relacionadas com “MashUps”(aplicação que usa conteúdo de um outro site- ex: inserir mapas na sua aplicação), é bom pensar em compartilhar os dados de suas aplicações, tornando-as mais populares.

Broadcast Receiver

http://developer.android.com/reference/android/content/BroadcastReceiver.html

Classe que recebe alertas gerais do sistema. Podem ser gerados pelas activities ou não. Exemplo: SCREEN_OFF – gerado pelo sistema quando a tela é bloqueada. Você pode tomar atitudes de acordo com o tipo de alerta recebido.

Um Broadcast Receiver (derivado de: android.content.BroadcastReceiver) segue o padrão GoF “Observer”. Ele se registra e fica observando se determinado evento geral acontece. É diferente da classe de uma Activity, que somente observa eventos gerados pelas suas Views. Este tipo de componente pode receber eventos gerados pelo código de sua aplicação, de outras aplicações ou mesmo do sistema Android. Quando a tela é desligada, por exemplo, é possível tomar algumas atitudes.

Page 7: Android - Notas de aula

2. Google App Inventor: o criador de apps para Android para quem não sabe programar

Criado originalmente no Google Labs, mas atualmente pertence ao MIT Labs, do Massachussets Institute of Technology, USA, o código do App Inventor é aberto, e qualquer pessoa pode criar um ambiente de desenvolvimento dele derivado. Ambientes de desenvolvimento como o App Inventor constituem-se em uma modalidade recente para desenvolvimento de aplicativos voltados para sistemas móveis. Como todo usuário de smartphone sonha em ter um aplicativo que faça exatamente o que ele quer, o App Inventor tem esta proposta. Uma interface visual para permitir que qualquer um possa programar seus próprios aplicativos, mesmo sem saber construir linhas de código e compilar programas de qualquer forma. A solução é chamada App Inventor, e está disponível sob requisição para participação na fase Beta da ferramenta.http://www.tecmundo.com.br/google/11458-google-app-inventor-o-criador-de-apps-para-android-para-quem-nao-sabe-programar.htm

Vídeo em: http://www.youtube.com/watch?feature=player_embedded&v=nC_x9iOby0g

O conjunto é composto por duas seções: o App Inventor Designer e o App Inventor Blocks Editor, cada uma com uma função específica.

App Inventor Setup

Vamos descrever como fazer o setup de seu computador e do seu telefone para construir aplicativos com o App Inventor.

Vídeo em inglês:

http://www.youtube.com/watch?feature=player_embedded&v=PybIN-fDL70

LoginAbra seu navegador e acesse beta.appinventor.mit.edu , você deve ter uma conta no

gmail para fazer o login. Pronto você já está pronto para começar.

Download the App Inventor softwareApp Inventor é uma ferramenta tipo cloud mas requere algum download no seu computador.

• In App Inventor, Click no item Learn , então no Setup link, e faça a configuração do seu computador.

• Se você não tiver java, você deve instalá-lo e então siga as instruções só Setup para o tipo de computador que você tem e então você está pronto.

Crie um novo project, abrindo do blocks editor

Page 8: Android - Notas de aula

• Volte no App Inventor (beta.appinventor.mit.edu in your browser) escolha o botão New na esquerda e crie o new project. Entre com o nome do projeto. Ele abrirá o Component Designer. Aqui você verá como fica sua aplicação

• No Component Designer, click em Open Blocks Editor. Um caixa de diálogo perfuntará se você quer abrir ou salvar um arquivo chamado appinventorForAndroidCodeblocks.jnlp. Se a opção for aberto com o Java Web Start, perfeito, o processo toma alguns minutos para download e você verá ele aparecer.

• Se não houver a pergunta de abrir Java Web Start, você precisa provavelmente configurar seu sistema java, volte em Learn | Setup screen.

• O blocks editor é o local onde você programará o comportamento de sua aplicação, isto acontecerá quando você clicar um botão.

Abrindo o emuladorUma vez que o blocks editor foi aberto com sucesso, click em New Emulator. Click OK na caixa de diálogo que aparece e em minutos aparece a tela do emulador (uma tela de telefone).

Agora você está pronto para começar

A maioria das pessoas começam com a aplicação Hello Purr, uma aplicação que ao tocar no telefone (ou no emulador) ocasiona o miado de um gato.

Veja aplicação em:

http://www.appinventor.org/hellopurr

O App Inventor Designer

Tela inicial dos projetos do Google App Inventor. (Fonte da imagem: Reprodução/Google)

O Designer é a tela inicial de um projeto. É aqui que você desenha seu aplicativo, escolhendo a posição dos botões e imagens, inserindo fotos, droplists, checkboxes e outros componentes disponíveis para a construção de um programa. Ele é dividido em quatro colunas.

PaletaA primeira coluna, chamada de “Palette” (Paleta),é onde ficam todos os componentes

Page 9: Android - Notas de aula

utilizáveis num aplicativo. Esta paleta é dividida em seções para facilitar a localização dos componentes, que vão dos básicos (botões, imagens e textos) até uma seção exclusiva para integração com ferramentas de Lego Mindstorms (uma divisão daquela brincadeira de montar pecinhas que adiciona sensores, motores e processadores aos robôs construídos).

Para utilizar um desses componentes basta dar um clique sobre ele e arrastar para cima da segunda coluna, chamada “Viewer” (Visualizador).

VisualizadorNa coluna “Viewer, o usuário pode organizar cada um de seus objetos, montando o aplicativo como ele deve ser. Uma janela de exibição simula a tela de um smartphone com o sistema operacional Android, apresentando uma versão próxima da final ao programador, à medida que ele organiza o espaço de uso do programa.

Todos os itens adicionados da “Palette” ao “Viewer” são apresentados na terceira coluna, chamada de “Components” (Componentes).

Edição dos nomes dos componentes facilita a programação. (Fonte da imagem: Reprodução/Google)

Page 10: Android - Notas de aula

Componentes

Na coluna de componentes, ficam armazenados todos os itens adicionados, sejam eles visíveis ou não na tela do programa. Dessa forma, fica muito mais simples selecionar cada objeto, pois eles estão listados de forma ordenada e acessível.

Aqui também é possível re-nomear cada item. Assim, você pode chamar os componentes por nomes que façam sentido para o seu projeto. É muito mais fácil encontrar cada coisa se você mesmo criar um nome específico para ela, como “botão de som” em vez de “Button1”.

É possível também inserir arquivos de mídia pela terceira coluna. Clicando no botão “Adicionar” (Add) você importa sons, fotos e vídeos do seu computador para o servidor do App Inventor, e eles ficam disponíveis para que você possa usar no projeto.

Clicar sobre qualquer um dos itens da lista na coluna “Components” permite que você possa editar seus detalhes na quarta coluna, chamada de “Properties” (Propriedades).

PropriedadesEsta é a coluna mais importante do App Inventor Designer, já que aqui você pode definir os tamanhos e conteúdos dos textos de botões e caixas de informação, tamanho das imagens, cores de fundo e largura e altura de objetos. Essas e muitas outras configurações são aplicadas instantaneamente na tela da coluna “Viewer”, permitindo que você tenha sempre uma ótima ideia de onde e o que está mudando em seu programa.

Uma vez que seu programa esteja parcialmente montado, é hora de começar a atribuir funções a cada um dos componentes que você selecionou. Para isso é preciso clicar no botão “Open Blocks Editor” (Abrir Editor de Blocos), que o levará para uma nova tela.

O App Inventor Blocks EditorPara utilizar o Editor de Blocos é necessário configurar e instalar alguns aplicativos(já falamos antriormente). O primeiro é o Java (você pode testar se possui a versão necessária do Java acessando o link de testes do desenvolvedor http://www.java.com/en/download/testjava.jsp e o link de testes do App Inventor http://appinventor.mit.edu/. Depois de executados ambos os testes, é necessário instalar o aplicativo de desenvolvimento do App Inventor. Ele está disponível para Windows, Mac OS X e GNU/Linux com instruções de instalação (em inglês).

Page 11: Android - Notas de aula

O Editor de Blocos permite programar de forma simples. (Fonte da imagem: Reprodução/Google)

Após configurar o computador, você pode começar a fazer a mágica da programação. Acessando o “Blocks Editor” você pode começar a associar ações para cada item do seu programa. Usando uma interface simples e intuitiva, a construção do aplicativo parece muito com montar um quebra-cabeça.

O menu na lateral esquerda fornece duas abas de comandos: “Built-in” (Internos) e “My Blocks” (Meus Blocos). Todos os objetos que você inseriu em seu programa terão comandos de início na aba “My Blocks”, ao passo que os comandos de execução estão localizados na aba “Built-In”. A combinação de um ou mais comando de “My Blocks” e comandos “Built-In” forma uma ação completa. E para facilitar a construção das ações, os comandos são estruturados como peças de quebra-cabeças. Apenas funções compatíveis se encaixam.

Por exemplo, caso você crie um botão em seu programa que deve tocar um som toda vez que for tocado, basta arrastar o comando de início (dentro do sub-menu do botão que você deseja clicar) “when NomeDoBotao.Click do” da guia “My Blocks” para o campo à direita. Após isso, na mesma guia, selecione o componente de som e arraste a opção “call.NomeDoSom.Play” para dentro do outro componente, criando uma ação completa. Quando o botão for clicado no seu programa, o som vai tocar.

Page 12: Android - Notas de aula

Visualização de programa em um Android virtualO App Inventor permite que você conecte seu smartphone via cabo USB e visualize seu aplicativo nele em tempo real, mas a configuração dos drivers e instalação do telefone nem sempre são tarefas fáceis.

Pensando nisso, a Google implementou um sistema de máquina virtual baseado em Java que permite ao usuário criar um smartphone genérico com Android. Assim você tem uma tela de celular no seu monitor para testar seus aplicativos.

Abertura da máquina virtual com Android 2.2 (Fonte da imagem: Reprodução/Google)

Da mesma forma que no restante da ferramenta, as alterações feitas no “Designer” e no “Blocks Editor” são visualizadas em tempo real no smartphone virtual com Android. Essa capacidade faz com que a programação de qualquer item possa ser avaliada assim que efetuada, tornando mais simples voltar atrás em algum passo.

A máquina virtual do Android funciona com a versão 2.2 (Froyo) do sistema operacional da Google. É possível inclusive fazer login com uma conta Google para testar algumas funcionalidades do programa que você está construindo. Em suma, é um emulador completo de um sistema Android.

Após clicar para criar uma máquina Android virtual, aguarde a configuração completa do aplicativo. Depois disso clique, na janela do “Blocks Editor”, em “Connect to Device” e escolha a máquina virtual. Em alguns instantes seu aplicativo deve estar completamente funcional na tela do seu computador.

Aplicações práticas do App InventorÉ bom deixar bem claro: o Google App Inventor não é um substituto para a linguagem de programação de aplicativos para o Android. Ainda não, pelo menos, embora seja a premissa que o projeto está seguindo. Não é uma ferramenta para criar jogos e aplicativos comerciais. O principal público do App Inventor, no momento, está dentro de universidades, para que alunos e professores possam entender o básico, criando programas para fins educacionais e ajudando a desenvolver um cenário de programação que não irá precisar de conhecimento de programação para funcionar.

Infelizmente não é possível criar jogos como Angry Birds ou aplicativos complexos como o

Page 13: Android - Notas de aula

Firefox Mobile, e as aplicações criadas estão longe de ser bonitas. Elas são, no entanto, funcionais.

Um aplicativo feito no App Inventor pode servir propósitos específicos para o seu uso pessoal ou profissional. Pode preencher a lacuna em que os aplicativos de terceiros pecavam. E pode levar usuários comuns a se interessarem em começar a programar para a plataforma, elevando assim o nível de qualidade dos aplicativos que são feitos e a quantidade de softwares disponíveis para a plataforma.

Ainda em fase BetaApesar de ter sido anunciado ao público em dezembro de 2010, e já ter usuários utilizando o sistema de forma secreta seis meses antes disso, o Google App Inventor ainda está em fase Beta. Isso significa que, apesar de já estar muito bem estruturado, constantemente temos novidades, e seu uso ainda não está liberado para o público geral.

A frase abaixo, retirada do aviso de Beta no site do App Inventor traduz o pensamento da Google sobre a ferramenta:

“Nós estamos trabalhando duro para aparar arestas e apreciamos que você use o App Inventor enquanto ele está em fase Beta. Pode parecer um pouco clichê, mas é verdade, você usando o App Inventor hoje está nos ajudando a fazê-lo melhor para o futuro!”

Com certeza é algo que ainda vai crescer muito antes de ser liberado para o grande público, mas a possibilidade de qualquer um poder criar aplicativos que resolvam seus próprios problemas e, quem sabe o problema de outras pessoas, é uma visão de futuro na qual vale a pena acreditar.

Leia mais em: http://www.tecmundo.com.br/google/11458-google-app-inventor-o-criador-de-apps-para-android-para-quem-nao-sabe-programar.htm#ixzz2Ikp1Ioz7

Page 14: Android - Notas de aula

Tutorial criando aplicação do Miado do gato

Para construir o Miadodogato você necessita de uma imagem de um gato formato png e o aúdio em formato mp3. Dê um download desses arquivos para o seu computador.

http://appinventor.mit.edu/teach/sites/teach.appinventor.mit.edu/files/kitty.png

http://beta.appinventor.mit.edu/learn/tutorials/hellopurr/HelloPurrAssets/meow.mp3

1.Entre no site http://beta.appinventor.mit.edu e dê um login com sua conta do gmail.

2.Selecione os componentes para fazer sua aplicação.

Os App Inventor Components estão localizados no lado esquerdo em baixo do título Palette. Components são elementos básicos que você usa para fazer aplicativos APP para telefone Android E. Eles são como ingredientes de uma receita. Alguns componentes são muito simples como o Label(rótulo), que mostra apenas um texto na tela, ou um Button que inicia uma ação. Outros componentes são mais elaborados: o Canvas que permite armazenar imagens ou animações dentro deles, um Accelerometer (movimento) sensor que trabalha parecido com o controle do Wii e detecta quando você move ou balança o telefone, componentes que fazem ou enviam mensagens de texto, componentes que tocam música e vídeo, componentes que pegam informações na web etc.. Para usa um componente, você clica e arrasta ele para o visualizador que está no meio do Designer. Quando você adicionar componentes para o Viewer(1), aparecerá na lista de componentes no lado direito do Viewer.

O componente 2 Canvas tem propriedades que permitem ajustar e mudar as propriedades dos componentes. Primeiro selecione os componentes na lista direita e ai você consegue modificá-los.

Page 15: Android - Notas de aula

Passos para selecionar componentes e configure as propriedadesNós queremos ter um botão que tem a imagem de um gato que você já baixou.

Passo 1 – na paleta Basic, arraste e solte o componente no Screen1. No painel de propriedades, vá à imagem e adicione a imagem ao botão.

Passo 2 – Apague o texto do botão usando backspace

Você verá a imagem abaixo.

Page 16: Android - Notas de aula

Passo 3 - Step 3. Arraste e solte o componente Label da palete Basic, colocando ele em baixo da imagem. Ele aparecerá na lista de componentes como Label1. Mude sua propriedade TEXT no painel Properties para "Pet the Kitty" (#2). Você verá que o texto muda no Designer, mude o fontsize para 30. Mude a cor de fundo BackgroundColor (#4),você pode colocar qualquer cor que gostar , mude a cor do texto em TextColor (#5). Vide próxima figura:

Page 17: Android - Notas de aula

Passo 4 – Clique no palete Media e e coloque o componente sound no Viewer (#1). Este componente aparecerá na área de baixo marcada como Non-visible components. No painel Media pane, Click Add... (#2) fazendo um Upload de meow.mp3 para este projeto (#3). No painel properties, click None... Para mudar o Sound1 para meow.mp3 (#4)

Page 18: Android - Notas de aula

Programando com o Blocks Editor

Antes de continuar construindo sua aplicação, você necessita de conectar-se ao seu dispositivo ou ao emulador, primeiro clique em Open Blocks Editor para abrir o editor de blocos. Uma mensagem aparece você digita ok para abrir com Java web e nova mensagem aparece dizendo que está abrindo com o Java, aguarde uns minutos que o APP Inventor for Blocks Editor. Clique em New emulator e ok numa tela que aparecerá após, agora aparecerá a imagem de um telefone. Deslize o cadeado verde na tela do telefone e vá a connect habilitando a opção 5554. Em alguns minutos a conexão estará completa, e a imagem aparecerá na tela, a imagem do Viewer.

Imagem da conexão:

Fazendo o som tocarPasso 1. Em My Blocks palete no Blocks Editor clique em Button1 aparecerá um desenho e clique e arraste Button1.Click .

Estes blocos verdes são manipuladores de eventos (event handler blocks). Os blocos manipuladores de eventos especificam como os telefones devem responder a certos eventos: um botão sendo apertado, o telefone sendo chacoalhado, o usuário colocando o dedo sobre o Canvas, etc.

Passo 2. Clique em Sound1 e arraste o desenho do bloco Sound1. Play block para dentro do "do", seção de dentro do bloco Button1.Click. Os blocos conectam como quebra cabeça em peças e juntos você vai ouvir o som do gato.

Page 19: Android - Notas de aula

Os blocos azuis e roxos são chamados de blocos de comandos (command blocks), que são colocados dentro do corpo dos manipuladores de eventos. Então quando um evento é executado, ele executa uma sequência de comandos.

Agora você pode ver o command block dentro do event handler. Este bloco significa: quando o botão é apertado o comando sound é acionado e um som é executado( o comando especifica o tipo e detalhe da ação- tipo de som).

Leia mais em: https://sites.google.com/site/appinventorlessons/home/understanding-blocks

Page 20: Android - Notas de aula

Telefone

Configurando seu telefone Android

Nesta seção iremos fazer você conseguir usar seu telefone android com o App Inventor. Isto envolve a checagem e acerto de algumas configurações para trabalhar corretamente, para isto conecte seu telefone ao computador através de um cabo USB. Em máquinas Windows, você pode ter que instalar alguns drives para o fone. Veja as instruções aqui: http://explore.appinventor.mit.edu/content/windows-drivers

Fone compatíveis

Existem centenas de diferentes fones com android. Não sabemos sobre todos eles, mas os citados aqui estão sendo usados com sucesso com o App Inventor:

• Google: Nexus One, Nexus S• Motorola: Droid, Droid X, Droid Incredible• T-Mobile: G1• HTC: Incredible, Hero, Desire

Alguns modelos tem que ter o cartão SD instalado.

Checando a configuração do telefone

Siga estes passos:

Aperte o botão Home e vá para a HOMESCREEn

Aperte o botão Menu, depois Settings e então Applications

Aperte Development

Veja se ambos USB Debugging e Saty awake estão marcados.

Page 21: Android - Notas de aula

Se seu telefone tem telea de travamento, destrave-o para rodar a aplicação. Agora pegue seun cabo usb e conecte ao computador e ao fone. Duas mensagens aparecerão:

• USB Connected significa que o fone tá conectado ao computador..• USB Debugging Connected permite ao App Inventor controle o fone..

Detalhe dos telefones veja em: https://sites.google.com/site/appinventorlessons/home/phone

Page 22: Android - Notas de aula

Emulador

Se você está usando pela primeira vez. Siga estes passos.

1. Abra the Blocks Editor, e click em no botão New emulator no topo da tela.

2. Você receberá está tela dizendo para esperar de 2 a 3 minutos. Clique em OK.

3. O emulador aparecerá com uma tela negra ( ). Espera até ela ficar colorida. ( ). Agora puxe o① ② botão verde para a direita com o mouse,no emulador. ( ).③

Page 23: Android - Notas de aula

① ② ③

4. O emulador trabalha igual o telefone e tem algumas limitações como balançar. Depois de destravar o emulador, clique em "Connect the Device....." e clique no emulator. Quando o ícone de fone tornar-se verde o emulador tá conectado.

Page 24: Android - Notas de aula

Packaging Apps

Você pode "empacotar" seu aplicativo de três maneiras diferentes: download como um arquivo apk (Android pacote de aplicativos), convertendo o arquivo em um código de barras, ou instalar o aplicativo diretamente para seu telefone.. Aqui, nós vamos discutir como empacotar seu aplicativo para o seu telefone em primeiro lugar.

1. Garanta que você abriu o Blocks Editor e seu fone está conectado(ícone verde).

2. Vá para o Designer e clique em Package for Phone. Você verá várias opções. Selecione "Download to Connected Phone"

3. O Botão ficará cinza e dirá Packaging. Levará de 3 a 5 minutos. Não desconecte o fone ou cabo durante este tempo.

4. Após completar você verá uma notificação em pop-up, dizendo que foi um sucesso-successfully downloaded.

5. Desconecte o fone do cabo USB, aperte o botão menu do fone e o ícone da app do android apacerá com os outros app que você tem.

Packaging um app como um .apk file ("Downloading to this Computer" option)

O arquivo Android application package (APK) é um arquivo formatado para distribuir e instalar aplicações em sistemas operacionais android. Um arquivo .apk permite você criar mais tarde um código de barra. Escolha: "Download to this Computer" no menu e ele começará automaticamente.Uma vez que o arquivo apk foi feito o download para seu computador, você deverá enviá-lo pelo seu e-mail. Quando seu amigo fizer o download do arquivo apk, ele aparecerá no fone como um ícone android. Quando você clica no ícone, o aplicativo irá abrir como qualquer aplicativo que você baixar no Android Market.

Page 25: Android - Notas de aula

Nota: Diferente de arquivo zip, você não pode abrí-lo para ver os blocos ou editá-lo.

Criando um código de barra ("Show a Barcode" option)

App Inventor cria um código de barras que pode ser verificado por quaisquer telefones Android, que é uma ótima maneira de compartilhar sua aplicação. No entanto, o código de barras criado por App Inventor é "bloqueado": o aplicativo só pode ser aberto por você ou pessoas que têm um acesso a sua conta do Google.

A fim de criar um código de barras que pode ser compartilhado por qualquer pessoa sem a permissão para acessar sua conta do Google, você precisa fazer o download do aplicativo como arquivo APK para o seu computador (veja as instruções acima) e usar um software de terceiros para converter o arquivo. apk em um código de barras. Você pode encontrar a instrução em:http://www.youtube.com/watch?v=X-A0qcXA2Ro

Page 26: Android - Notas de aula

Entendendo Blocks

Manipuladores de Eventos

Programas App Inventor descrevem como o telefone deve responder a certos eventos: um botão foi pressionado, o telefone está sendo balançado, o usuário está arrastando o dedo sobre uma tela, etc. Isso é especificado por blocos de manipulação de eventos, que usam a palavra quando . Por exemplo, quando Button1.Click e quando AccelerometerSensor1.Shaking então faça.

A maioria dos manipuladores de eventos são de cor verde e armazenados na parte superior de cada gaveta. Aqui está um exemplo de manipuladores de eventos.

Quando ocorre um evento em um telefone, o manipulador de evento correspondente é acionado, o que significa que ele é executado.

Comandos e expressões

Quando um manipulador de evento é acionado, ele executa uma seqüência de comandos em seu corpo. Um comando é um bloco que especifica uma ação a ser executada no telefone (por exemplo, reprodução de sons). A maioria dos blocos de comando são, na cor roxa ou azul.

Aqui estão alguns exemplos de comandos disponíveis em MiadodoGato:

Alguns comandos requerem um ou mais valores de entrada (também conhecidos como parâmetros ou argumentos) para especificar completamente a sua ação. Por exemplo, chamar Sound1.Vibrate precisa saber o número de milissegundos que vai vibrar, definir necessidades Label1.BackgroundColor para conhecer a nova cor de fundo do rótulo, e definir necessidades Label1.Text para conhecer o novo texto para a etiqueta. A necessidade de valores de entrada é mostrado por soquetes na margem direita do comando. Estas tomadas podem ser preenchidos com

Page 27: Android - Notas de aula

expressões, blocos que indicam um valor. Blocos de expressão têm na esquerda fichas que você pode imaginar transmitir o valor para o soquete. Expressões maiores podem ser construídas a partir de outras mais simples, pela composição horizontal. Por exemplo, todas as expressões a seguir denotam o número 500:

Comandos são moldados de modo que eles naturalmente compõe verticalmente uma pilha de comando, que é apenas um comando grande construído a partir de outras menores. Aqui está uma pilha com quatro comandos:

Quando esta pilha de comandos é colocado no corpo de um processador de eventos (por exemplo, o processador de eventos when.Button1.Click), o comando será executado a partir do topo para a base. Se a pilha de comando acima é executada, em seguida, o telefone vai tocar primeiro o som, então vibrar, em seguida, alterar a cor da etiqueta que ser verde, e depois o rótulo irá mostrar o texto "CS117 rocks!"No entanto, a execução funciona muito rápido: você vê todas as ações acontecem ao mesmo tempo.

Fluxo de Controle

Quando há o acionamento de uma manipulador de eventos, você pode imaginar que ele cria um ponto de controle e a partir dai executa os comandos da pliha em seu corpo. O ponto de controle move-se a partir do topo da pilha para a parte inferior, e, quando se atinge um comando, o comando é executado - isto é, a ação de comando que é executada. Pensando sobre o controle de "fluir" através de um programa nos ajudará a entender o seu comportamento.

A ordem dos comandos, ou o fluxo de controle é importante quando você faz uma aplicação. Você precisa ter certeza de que a ação deve vir primeiro.

Page 28: Android - Notas de aula

Arranjando componentes na tela

Componentes de aplicativos estão organizados verticalmente por padrão. Na paleta Designer, criar um Screen Arrangement>HorizontalArrangement para organizar os três botões de LabelSize horizontalmente. (. VerticalArrangement e TableArrangement também pode ser usado para controlar o posicionamento) Aviso: o Visualizador de janela Designer é apenas uma aproximação de como os componentes serão mostrados no telefone.

Manipulando state Component

Cada componente é caracterizado por propriedades diferentes. Quais são algumas das propriedades de um componente Label?

Os valores correntes destas propriedades são o estado do componente. Você pode especificar o estado inicial de um componente no painel de propriedades da janela do Designer.

Programas App Inventor pode obter e definir a maioria das propriedades do componente através de blocos. Por exemplo, aqui estão os blocos para manipular o estado de Label1.

Blocos getter são expressões que obter o valor atual da propriedade. Setter blocos são comandos que alteram o valor associado com a propriedade.Algumas propriedades de etiquetas não podem ser manipuladas por blocos. Quais?Como um exemplo de manipulação de propriedades de etiquetas, faça um programa de nome LabelSize, que tem quatro manipuladores de eventos. O que eles fazem?

Page 29: Android - Notas de aula

Prever o que acontece se mudarmos o manipulador quando TallerButton.Click da seguinte forma:

Modificação 1:

Modificação 2:

Modificação 3:

Outros Button Events

Outros botões de eventos são LongClick, GotFocus, LostFocus. Experimente eles clicando os seguinte manipuladores:

Page 30: Android - Notas de aula

Nota: muitos componentes obter o foco quando tocado, e perdê-lo quando o toque é removido. Mas os botões são especiais, porque lhes tocar dispara o evento Click. No entanto, eles podem obter / perder o foco através da trilha G1 bola ou navegador IDEOS.

Renomear Componentes

Os programas podem ser mais fáceis de ler, se você alterar o nome padrão de componentes. Por exemplo, Botaoproximo é mais significativo do que Button2. No painel Componentes da janela do Designer, use o botão Renomear para renomear Label1 para MyLabel. O que acontece no Editor de blocos para blocos que costumavam mencionar Label1?

O componente TextBox

Muitos aplicativos esperam que os usuários insiram entrada como números ou strings de texto. O componente TextBox é usado para este propósito. Vamos adicionar duas caixas de texto para o programa LabelSize:

O primeiro deverá especificar o montante pelo qual o rótulo deve se tornar maior / mais estreito.O segundo deve especificar uma cadeia para ser concatenado com o rótulo atual. (Use o operador de junção para isso.)

Nota: Às vezes é útil ter cadeias de texto com várias linhas. Em uma string, a notação \ n representa o caractere de nova linha. Por exemplo, a cadeia de texto um \ nDuas \ N três tem três linhas.

Criando aplicação desenhando um círculo na tela

Vamos fazer um programa capaz de desenhar círculos na tela. Para este programa você precisará de uma imagem 300x300 pixels. Escolhi a figura do android disponível em: http://dl.dropbox.com/u/2614588/Android.jpg

Introdução:

Page 31: Android - Notas de aula

Com o Desenhando nós vamos fazer:

• Vamos selecionar cores, usando botões;• Usar seu dedo para fazer círculos;• Usar um botão para limpar; • Usar uma imagem como Papel de Parede;

Apresentaremos aqui o conceito de Canvas como componente de desenhos, controlaremos o arranjo de componentes da tela, manusearemos eventos distintos com a mesma função e variáveis.

Para iniciar o programa, crie um novo projeto, batizado de Desenhando (no original PaintPot), e na janela da esquerda mude o nome da tela 1 para Desenhando.

Preparação dos componentes:

Você irá utilizar os seguintes componentes ao longo deste tutorial:

• Três botões para selecionar cores (Vermelho, Azul e Verde) e um botão para limpar; • Uma superfície para desenhar, chamada de Canvas, este Canvas, particularmente,

possui uma imagemde fundo; • Também tem um componente que organiza, horizontalmente, os botões na parte

superior da tela.

Criando os botões de cores:

• Arraste um botão da paleta ”Basics” para a tela do Android exibida em Viewer. • Atribua a esse botão a legenda ”VERMELHO” e altere seu nome na lista de

”Components”, selecionando-o com o mouse e depois clicando no botão ao final desta terceira coluna (da esquerda para a direita), em Rename, para Vermelho.

• Repita o procedimento para criar o botão Verde e Azul.

Page 32: Android - Notas de aula

Arranjo do leiaute da tela:

Para manter os botões alinhados, você deve adicionar a função HorizontalArrangement, dentro da Paleta Screen Arrangement. Esta função irá adicionar um retângulo sobre ou abaixo dos botões, de acordo com onde você o colocou, arraste os botões para dentro, e altere suas propriedades para:

Width: Fill Parent

Height: Automatic;

Canvas e Botão de Limpar

Ao final, restam mais dois componentes para adicionar à sua tela: Canvas e o botão de Limpar.

Adicione o Canvas através da Paleta ”Basics”, e altere suas propriedades para:

• Width: Fill Parent • Height: 300px • Add Background Image: Adicione a Imagem do link dito anteriormente

Da mesma Paleta adicione um botão e altere seu texto para Limpar e altere seu nome na árvore de componentes para Wipe.

Adicionando comportamento aos componentes:

Ao terminar o leiaute do seu aplicativo, salve tudo e abra o Editor de Blocos no BlockEditor.

Page 33: Android - Notas de aula

Abra na coluna ”My blocks” e escolha o botão Vermelho e adicione a funcionalidade Vermelho.Click do, em Canvas, eleja a função Canvas1PaintColor e adicione a esta funcionalidade a cor Vermelha da coluna Buit-in->Colors.

Repita o processo para as outras cores:

Para o botão Limpar, faça como as cores, selecionando Wipe.Click do, em Canvas, selecione Canvas.Clear.

Adicione comportamento das cores:

Agora para o próximo passo: desenhar em Canvas. Para isso tenha em mente que teremos o comportamento de fazer um ponto ou círculo. No editor de blocos, selecione quando Canvas for clicado (when Canvas1.touched). Você verá que as coordenadas x e y já vem preenchidas, assim como a função touchedSprite. Não vamos nos preocupar com seu significado agora.

Clicar é uma função simples, por que não há nada para saber além de que o click ocorreu. Veremos eventos mais complexos futuramente, mas por hora, basta saber que é possível manusear a estes eventos também. Para este evento, vamos fazer o ponto ser representado como um pequeno círculo na tela, nas coordenadas x e y clicadas.

Selecione Canvas1.DrawCircle à partir do Canvas e selecione a função do para Quando clicado (when Canvas1.Touched). Ao lado direito desta função há três conexões: onde deve-se especificar os valores de x e y e o raio do círculo que será desenhado ao clicar.

Para x e y selecione à partir de ”My Definitions”, selecione as funções ”Value X” e ”Value y” e para o raio, selecione em Definitions, Math, a primeira função Numbers,

Page 34: Android - Notas de aula

alterando o valor de 123 para 5.

Você já pode salvar sua aplicação e experimentá-la em seu computador, através do emulador do Android ou conectando seu AppInventor ao seu telefone Android.

Page 35: Android - Notas de aula

Desenhando linhas no aplicativo anterior

Finalmente, vamos adicionar o evento Arrastar (drag) para desenhar linhas, para definir as diferenças entre os eventos, veja:

• Um toque é quando se toca com o dedo uma região da tela do aplicativo e o levanta sem mover o dedo para os lados.

• Arrastar é quando se toca a tela com o dedo e, mantendo o contato com a tela, desloca-se o dedo pela tela;

Este é um evento que possui 6 argumentos para ser composto:

• A posição que seu dedo iniciou o toque na tela; • A posição atual do seu dedo na tela; • A posição imediatamente anterior que seu dedo ocupou;

Também há uma função Sprite, que também será ignorada ao longo deste tutorial.

Assim seu controlador de eventos deverá se parecer ao terminar. Para preencher o Canvas.drawline, você deve ir às funções que foram adicionadas em My Definitions ao selecionar este controlador de eventos (Event Handler). Pronto! Parabéns. Você acaba de concluir mais um tutorial com muito sucesso e seu segundo aplicativo para Android.

Page 36: Android - Notas de aula

3. Ambiente de desenvolvimento Android

Como obter o SDK (kit de desenvolvimento de software) do Android

O Android SDK fornece-lhe as bibliotecas da API e ferramentas de desenvolvimento necessárias para construir, testar e depurar aplicativos para o Android.

Se você é um novo desenvolvedor Android, recomendamos que você baixe o pacote ADT para iniciar rapidamente o desenvolvimento de aplicativos. Ele inclui os componentes essenciais Android SDK e uma versão do Eclipse IDE com built-in ADT (Android Developer Tools) para agilizar o seu desenvolvimento de aplicativos Android.

Com um único download, o pacote ADT inclui tudo que você precisa para começar a desenvolver aplicativos:

• Eclipse + ADT Plugin • Android SDK Tools • Plataforma Android-ferramentas • A mais recente plataforma Android • A imagem mais recente do sistema Android para o emulador

site: http://developer.android.com/sdk/index.html

link para baixar:http://developer.android.com/sdk/index.html#win-bundle

Configurando o pacote ADT

O pacote ADT fornece tudo que você precisa para começar a desenvolver aplicativos, incluindo uma versão do Eclipse IDE com built-in ADT (Android Developer Tools) para agilizar o desenvolvimento de aplicativos Android. Se você não tiver, vai baixar o Android Bundle ADT . (Se você baixou as ferramentas do SDK apenas, para uso com um IDE existente, você deveria ler Configurando um IDE existente .)

Instale o SDK e Eclipse IDE

1. Descompacte o arquivo ZIP (chamado adt-bundle-<os_platform>.zip ) e salve ele em um local apropriado, como um diretório de "desenvolvimento" em seu diretório home.

2. Abra o diretório adt-bundle-<os_platform>/eclipse/ e clique em eclipse. É isso! O IDE já está carregado com o plugin Android Developer Tools e o SDK está pronto para iniciar o desenvolvimento, leia Construindo seu primeiro aplicativo.

Atenção: Não mover qualquer um dos arquivos ou diretórios do adt-bundle-<os_platform>. Se você mover o eclipse ou sdk diretório, o ADT não será capaz de localizar o SDK e você precisa atualizar manualmente as preferências do ADT.

Informações adicionais Para você continuar o desenvolvimento de aplicativos, você pode precisar instalar

versões adicionais do Android para o emulador e outros pacotes, como a biblioteca do Google Play In-app Billing. Para instalar mais pacotes, use o Gerenciador de SDK .

Tudo o que você precisa para desenvolver aplicativos Android tem neste site (link indicado acima), incluindo diretrizes de design , treinamento desenvolvedor , referência da API , e informações sobre como você pode distribuir seu aplicativo . Para obter recursos

Page 37: Android - Notas de aula

adicionais sobre o desenvolvimento e distribuição de seu aplicativo, consulte os recursos de suporte do desenvolvedor .

Configurando um IDE Existente(para quem não instalou o pacote acima)

Você já deve ter baixado as ferramentas Android SDK. (Se você baixou o pacote ADT, você deveria ler Configurando o pacote ADT).O SDK do pacote de ferramentas não é o ambiente SDK completo. Ele inclui apenas as ferramentas essenciais SDK, que você pode usar para baixar o resto dos pacotes SDK (como a imagem mais recente do sistema).

Primeiros passos no Windows

Seu pacote de download é um arquivo executável que inicia um instalador. O instalador verifica a sua máquina para ferramentas necessárias, como o próprio Java SE Development Kit (JDK) e instalá-o se necessário. O instalador então salva as Ferramentas Android SDK em um local padrão (ou você pode especificar o local).

Dê um duplo clique no arquivo executável (. Exe) para iniciar a instalação. Tome nota do nome e do local em que ele salva o SDK no sistema, você vai precisar para se referir ao diretório SDK depois, ao configurar o plugin ADT e quando utilizar as ferramentas do SDK a partir da linha de comando. Uma vez concluída a instalação, o instalador oferece para iniciar o Android Manager SDK. Se você vai usar o Eclipse, não iniciar o Gerenciador do Android SDK, e em vez disso faça a instalação do plugin do Eclipse. Se você estiver usando uma IDE diferente, inicie o Gerenciador de SDK e leia adicionando plataformas e pacotes.

Instalando o Plugin Eclipse(para quem não instalou o pacote acima)

Android oferece um plugin personalizado para o IDE Eclipse, chamado Android Development Tools (ADT). Este plugin fornece um ambiente integrado poderoso, que permite desenvolver aplicativos Android. Ele amplia os recursos do Eclipse para que você rapidamente criar novos projetos Android, construir uma interface de aplicativo, depurar seu aplicativo, e exportar pacotes assinados (ou não assinado) app (APKs) para distribuição. Se você precisa instalar o Eclipse, você pode baixá-lo a partir de eclipse.org / mobile.

Nota: Se você preferir trabalhar em uma IDE diferente, você não precisa instalar o Eclipse ou ADT. Em vez disso, você pode usar diretamente as ferramentas do SDK para criar e depurar sua aplicação.

Faça o download do plugin ADT•

Inicie o Eclipse, em seguida, selecione Ajuda> instalar novo software. • Clique em Adicionar, no canto superior direito. • Na caixa de diálogo Repositório que aparece, digite "Plugin ADT" para o nome e a

seguinte URL para o local: https://dl-ssl.google.com/android/eclipse/• Clique em OK.

Se você tiver problemas para adquirir o plugin, tente usar "http" na URL do local, em vez de "https" (https é preferido por razões de segurança).

• Na caixa de diálogo de software disponíveis, selecione a caixa de seleção ao lado de Developer Tools e clique em Avançar.

Page 38: Android - Notas de aula

• Na janela seguinte, você verá uma lista de ferramentas para ser baixado. Clique em Avançar.

• Leia e aceite os acordos de licença, em seguida, clique em Concluir.

Se você receber um aviso de segurança dizendo que a autenticidade ou validade do software não pode ser estabelecida, clique em OK. Quando a instalação estiver concluída, reinicie o Eclipse.

Configurar o plugin ADT

Após a reinicialização do Eclipse, você deve especificar a localização do seu diretório SDK do Android: No "Bem-vindo ao Android Development" janela que aparece, selecione Utilizar SDKs existentes. Procurar e selecione o local do diretório do Android SDK que você recentemente baixou e descompacte-o. Clique em Avançar. Seu Eclipse IDE está configurado para desenvolver aplicativos Android, mas você precisa adicionar as mais recentes ferramentas de plataforma SDK e uma plataforma Android para o seu ambiente. Para obter esses pacotes para o seu SDK, continuar a Adicionando plataformas e Pacotes.

Resolvendo Problemas de Instalação

Se você está tendo problemas para baixar o plugin ADT depois de seguir os passos acima, aqui estão algumas sugestões: Se o Eclipse não consegue encontrar o site de atualização remoto que contém o plugin ADT, tente alterar a URL do site remoto para usar http em vez de https. Ou seja, a definição do local para o site remoto para: http://dl-ssl.google.com/android/eclipse/

Se você está atrás de um firewall (como um firewall corporativo), certifique-se de que você configurou corretamente suas configurações de proxy no Eclipse. Em Eclipse, você pode configurar informações de proxy a partir do menu principal do Eclipse na Janela (no Mac OS X, Eclipse)> Preferências> Geral> Conexões de Rede.

Se você ainda não conseguir usar o Eclipse para baixar o plugin ADT como um site de atualização remoto, você pode baixar o arquivo zip ADT para sua máquina local e instalá-lo manualmente:

Baixe o arquivo zip ADT Plugin (não descompactá-lo): Package Size MD5 Checksum ADT-21.0.1.zip 13569302 bytes acfb01bf3fd1240f1fc21488c3dd16bf

Inicie o Eclipse, em seguida, selecione Ajuda> instalar novo software.Clique em Adicionar, no canto superior direito.Na caixa de diálogo Repositório, clique em Arquivo.Selecione o arquivo baixado ADT-21.0.1.zip e clique em OK.Digite "Plugin ADT" para o nome e clique em OK.Na caixa de diálogo de software disponíveis, selecione a caixa de seleção ao lado de Developer Tools e clique em Avançar.Na janela seguinte, você verá uma lista de ferramentas para ser baixado. Clique em

Avançar.Leia e aceite os acordos de licença, em seguida, clique em Concluir.

Se você receber um aviso de segurança dizendo que a autenticidade ou validade do software não pode ser estabelecida, clique em OK. Quando a instalação estiver concluída, reinicie o Eclipse.

Page 39: Android - Notas de aula

Para atualizar o seu plugin uma vez que você tenha instalado usando o arquivo zip, você terá que seguir estes passos novamente ao invés das instruções de atualização padrão.

Outros erros de instalação

Note-se que há características da ADT que requerem alguns pacotes opcionais Eclipse (por exemplo, WST). Se você encontrar um erro ao instalar ADT, sua instalação Eclipse pode não incluir estes pacotes. Para obter informações sobre como adicionar rapidamente os pacotes necessários para a instalação do Eclipse, consulte a solução de problemas tópico Erro de instalação ADT: "requer plug-in org.eclipse.wst.sse.ui".

Para usuários de Linux

Se você encontrar esse erro ao instalar o plugin ADT para Eclipse:

Ocorreu um erro durante o provisionamento.Não é possível conectar ao armazenamento de chaves.JKS

... Então a sua máquina de desenvolvimento carece de uma adequada Java VM. Instalação do Sun Java 6 vai resolver esse problema e você pode reinstalar o plugin ADT.

Adicionando plataformas e Pacotes

O SDK do Android separa ferramentas, plataformas e outros componentes em pacotes que você pode fazer o download usando o Gestor do Android SDK. O pacote SDK original que você baixou inclui apenas as ferramentas do SDK. Para desenvolver um aplicativo Android, você também precisa baixar pelo menos uma plataforma Android e os mais recentes a plataforma SDK-tools.

Inicie o Gerenciador de SDK.Se você já usou o instalador do Windows para instalar as ferramentas do SDK, você já deve ter o Gerenciador Android SDK Gerente. Caso contrário, você pode rodar ogerenciador do Android SDK de uma das seguintes formas:

No Windows, clique duas vezes no arquivo SDK Manager.exe na raiz do diretório do Android SDK.No Mac ou Linux, abra um terminal e navegue até o diretório tools / do SDK do Android, em seguida, executar o Android SDK.

O Gerenciador de SDK mostra todos os pacotes SDK disponível para você adicionar ao seu Android SDK. Como uma configuração mínima para o seu SDK, recomendamos que você instalar o seguinte:Os últimos pacotes de Ferramentas (verifique a pasta Ferramentas).A última versão do Android (verificar a pasta de primeiro Android).A Biblioteca de suporte Android (abra a pasta Extras e verificar Android Support Library).Uma vez que você escolheu seus pacotes, clique em Instalar. O Gerenciador Android SDK instala os pacotes selecionados em seu ambiente Android SDK.

Page 40: Android - Notas de aula

Com estes pacotes instalados, você está pronto para começar a desenvolver. Para começar, leia Construindo seu primeiro aplicativo.

Figura 1. O Android SDK Gestor mostra os pacotes SDK que estão disponíveis, já instalado, ou para os quais está disponível uma atualização.

Informações adicionais

Para mais informações sobre como usar o Gerenciador de SDK e alguns dos pacotes disponíveis, consulte o documento Manager SDK.

Este site fornece todas as informações que você precisa para desenvolver aplicativos Android, incluindo diretrizes de design, treinamento, desenvolvedor de referência API, e informações sobre como você pode distribuir sua app. Recomendamos que você comece lendo Construindo seu primeiro aplicativo.

Para obter recursos adicionais sobre o desenvolvimento e distribuição de seu aplicativo, consulte os recursos de suporte do desenvolvedor.

Construção de seu primeiro aplicativo

Dependências e pré-requisitos

• Android SDK

• ADT Plugin 20.0.0 ou superior (se você estiver usando Eclipse)

Bem-vindo ao desenvolvimento de aplicações Android!

Page 41: Android - Notas de aula

Este texto ensina como construir seu primeiro Android app. Você vai aprender como criar um projeto Android e executar uma versão debuggable do app. Você também vai aprender alguns fundamentos do projeto aplicativo Android, incluindo como criar uma interface de usuário simples e manipular a entrada do usuário.

Antes de iniciar esta classe, tenha certeza de ter o seu ambiente de desenvolvimento configurado. Você precisa:

1. Faça o download do SDK do Android. 2. Instalar o plugin ADT para Eclipse (se você vai usar o IDE Eclipse). 3. Baixe as mais recentes ferramentas SDK e plataformas usando o Gerenciador de SDK.

Se você não tiver feito essas tarefas, começar por baixar o SDK do Android, seguindo os passos de instalação. Depois de terminar a instalação, você está pronto para começar.

Este texto usa um formato de tutorial que constrói de maneira incremental uma pequena app Android, que ensina alguns conceitos fundamentais sobre o desenvolvimento Android, por isso é importante que você siga cada passo.

Criando um projeto Android

Esta lição ensina a:

Criar um projeto com EclipseCriar um projeto com as ferramentas de linha de comando

Você também deve ler:

Instalando o SDKGerenciando Projetos

Um projeto Android contém todos os arquivos que compõem o código-fonte de seu aplicativo Android. As ferramentas de Android SDK tornar mais fácil para começar um novo projeto Android com um conjunto de diretórios padrão do projeto e arquivos.

Esta lição mostra como criar um novo projeto ou usando Eclipse (com plugin ADT) ou usando as ferramentas do SDK a partir de uma linha de comando.

Nota: Você já deve ter o Android SDK instalado, e se você estiver usando o Eclipse, você também deve ter o plugin ADT instalado (versão 21.0.0 ou superior). Se você não tiver esses, siga o guia para instalar o Android SDK antes de começar esta lição.

Criar um projeto com Eclipse

O sistema primeiro mostra em que local você guardará seu projeto(workspace), aqui você pode definí-lo e então o eclipse entra no menu principal.Clique em File>New>Project na barra de ferramentas.Na janela que aparece, abra a pasta Android, selecione Android Application Project e clique em Next.

Page 42: Android - Notas de aula

Figura 1. New Android Application assistente no Eclipse.

Preencha o formulário que aparece:Nome do aplicativo é o nome do aplicativo que aparece para os usuários. Para este projeto, use "Meu aplicativo", primeira letra maiúscula.Nome do projeto é o nome do diretório do projeto e o nome visível no Eclipse.Nome do pacote é o namespace do pacote para o seu aplicativo (seguindo as mesmas regras de pacotes na linguagem de programação Java). O seu nome de pacote deve ser único em todos os pacotes instalados no sistema Android. Por esta razão, é geralmente melhor se você usar um nome que começa com o nome de domínio reverso da sua organização ou entidade editora. Para este projeto, você pode usar algo como "com.exemplo.meuaplicativo". No entanto, você não pode publicar seu aplicativo no Google Play usando o namespace "com.exemplo". A Mínimum Required SDK é a menor versão do Android que o aplicativo suporta, indicado usando o nível da API. Para apoiar o maior número de dispositivos possíveis, você deve definir isso para o menor versão disponível que permite que seu aplicativo forneça o conjunto de recursos para o núcleo. Se qualquer recurso de sua aplicação só for possível executar em versões mais recentes do Android e que não é fundamental para a aplicação do conjunto de recursos do núcleo, você pode ativar o recurso apenas quando estiver rodando em versões que o suportam. Deixe este conjunto como valor padrão para este projeto. Target SDK indica a versão mais recente do Android (também usando o nível API) com o qual você já testou a sua aplicação. Quando novas versões do Android se tornam disponíveis, você deve testar seu aplicativo na nova versão e atualizar este valor para corresponder ao nível mais recente da API, a fim de tirar proveito dos recursos de novas plataformas. Compile with é a versão da plataforma com a qual você irá compilar o seu aplicativo. Por padrão, isso é definido para a última versão do Android disponível em seu SDK. (Deve ser o Android 4.1 ou superior, se você não tem essa versão disponível, você deve instalar um usando o Gerenciador de SDK). Você ainda pode construir seu aplicativo para suportar as versões mais antigas, mas a definição da meta de construção para a versão mais recente permite ativar novos recursos e otimizar seu aplicativo para uma ótima experiência de usuário sobre os dispositivos mais recentes.Theme especifica o estilo da UI(interface do usuário) do Android solicitado por sua app. Você pode deixar isso ser preenchido sozinho.

Page 43: Android - Notas de aula

Clique em Avançar.

Na próxima tela para configurar o projeto, deixe as seleções padrão e clique em Avançar. A próxima tela pode ajudar a criar um ícone para executar sua aplicação. Você pode personalizar um ícone de várias maneiras usando a ferramenta gera um ícone para todas as densidades de tela. Antes de publicar o aplicativo, você deve ter certeza que seu ícone atende às especificações definidas no guia de design de Iconografia(Configure Luncher Icone).Clique em Avançar.Agora você pode selecionar um modelo de atividade para começar a construir sua app.Para este projeto, selecione BlankActivity e clique em Avançar. Deixe todos os detalhes para a atividade no seu estado padrão e clique em Concluir.Seu projeto Android agora está configurado com alguns arquivos padrão e você está pronto para começar a construir o aplicativo. Continue na próxima lição.

Criar um projeto com as ferramentas de linha de comando

Se você não está usando a IDE Eclipse com o plugin ADT, você pode criar seu projeto usando as ferramentas do SDK a partir de uma linha de comando:Altere os diretórios para Android SDK / tools.Execute:android list target

Imprime uma lista das plataformas Android disponíveis em seu SDK. Encontre a plataforma com a qual você deseja compilar o seu aplicativo. Tome nota do ID de alvo. Nós recomendamos que você selecione a versão mais alta possível. Você ainda pode construir seu aplicativo para suportar as versões mais antigas, mas a definição da meta de construção para a versão mais recente permite otimizar seu aplicativo para os dispositivos mais recentes. Se você não vê quaisquer metas listadas, você precisa instalar alguns utilizando a ferramenta Android SDK Manager. Veja Adicionando plataformas e Pacotes.

Execute:

android create project --target <target-id> --name MyFirstApp \--path <path-to-workspace>/MyFirstApp --activity MainActivity \--package com.exemplo.minhaaplicacao

Substitua <target-id> com um ID da lista de alvos (da etapa anterior) e substituir <path-to workspace> com o local em que você deseja salvar seus projetos Android. Seu projeto Android agora está configurado com configurações padrão vários e você está pronto para começar a construir o aplicativo.

Dica: Adicione platform-tools/ bem com the tools/ para a sua variável de ambiente PATH

Page 44: Android - Notas de aula

Rodando sua aplicação

Esta lição ensina você a:

1.Executar em um Dispositivo Real

2.Executando em um Emulador

Você também deve ler: Usando dispositivos de hardware, Gerenciando Dispositivos Virtuais, Gerenciando.

• Using Hardware Devices • Managing Virtual Devices • Managing Projects

Se você seguiu a lição anterior para criar um projeto android, ele inclue como default o conjunto de arquivos fontes "Hello World" que permitem você executar imediatamente sua aplicação. Agora você depende de 2 coisas para executar sua aplicação: se você tem um dispositivo android e se você está usando o Eclipse. Esta lição mostra como você instalar e executar sua aplicação em dispositivo real e em emulador Android, em linha de comando e no eclipse.

Antes de você executar sua app, você deve se assegurar que tem arquivos e diretórios em seu projeto Android.

AndroidManifest.xml – este arquivo descreve as características fundamentais da sua aplicação e define cada componente. Um dos mais importantes elementos de seu manifesto deve ser incluir o elemento <uses-sdk>, ele declara a compatibilidade que sua aplicação tem com diferentes androids usando os atributos: android:minSdkVersion e android:targetSdkVersion.

Sua primeira aplicação de parecer com isto:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.versao1.hello" android:versionCode="1" android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />

<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.versao1.hello.Hello" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>

</manifest>

Page 45: Android - Notas de aula

Você deve sempre configurar seu android: targetSdkVersion o mais alto possível e testar sua aplicação na plataforma corrente. Maiores informações leia em: Supporting Different Platform Versions.

src/ Diretório para sua app principal. Por default inclue classe Activity que é executada quando você clica no ícone de sua aplicação.

res/ Contém vários sub-diretórios para app resources. Aqui estão alguns: drawable-hdpi/

Diretório de objetos desenháveis (tal como bitmaps) que são projetados para telas de alta densidade(hdpi). Outros diretórios de contém telas de outras densidades.

layout/ Diretório que define a interface do usuário.

values/ Diretório de vários arquivos XML que contém uma coleção de recursos, como definição de cor e string.

Quando você construir e rodar uma aplicação default do Android, a classe default chamada Activity inicia e carrega o arquivo de layout que diz: “Hello Word.”. O resultado não é excitante mas é importante você entender com rodar sua aplicação antes de começar a desenvolver. .

Executando em um dispositivo Real

Se você tem um dispositivo real você pode rodar e instalar sua aplicação:1. Ligar seu dispositivo ao computador com o cabo USB. No Windows instalar o drive

USB <http://developer.android.com/tools/extras/oem-usb.html>.2. Habilite o USB debugging em seu dispositivo.

Nas versões 3.2 para baixo, entre na opção:Settings > Applications > Development. No android 4.0 ou mais recente: Settings > Developer options. Note: Na versão 4.2 e mais nova esta opção está escondida, vá em Settings > About phone e aperte 7 vezes o Build number. Retorne para a tela anterior e vai ver a Developer options.

Para executar no Eclipse

1. Abra um dos seus arquivos de projeto e clique Run na barra de ferramentas.2. Então Run quando a janela aparecer, e selecione Android Application e clique OK.O Eclipse instala a app no seu dispositivo e inicia.

Rodando na linha de comando

1. Mude o diretório para raiz no seu Projeto android e execute: ant debug2. Veja se o diretório do Android SDK plataform/tools está na variável de ambiente

PATH.adb install bin/MyFirstApp-debug.apk

3. No seu dispositivo localize MyFirstActivity e abra-o.

Rodando no Emulador

Page 46: Android - Notas de aula

Se você está usando o Eclipse ou a linha de comando, para rodar sua app no emulador você precisa criar seu AVD (Android Virtual Device). Um AVD é uma configuração do dispositivo emulador do Android e permite usar vários dispositivos.

Figura 1. AVD e um dispositivo

Para criar um AVD:

1. Rode o gerenciador do AVD: No eclipse clique Android Virtual Device Manager na barra de ferramentas. Na linha de comando mude o diretório para <sdk>/tools/ e execute android avd

2. No AVD clique NEW3. Preencha os detalhes do AVD. Nome, Plataforma, tamanho SD e tela HVGA é o

default.4. Clique em Create AVD5. Selecione o que você criou e clique em Start.6. Depois do emulador aparecer, use o botão para destravá-lo.

Para rodar no eclipse:1.Abra project file e clique em Run na barra de ferramenta.2. Na janela Run as, selecione Android Application e clique OK.

O Eclipse instala e executa sua aplicação no AVD.

Na linha de comando

Mude o diretório para raiz do projeto e execute: ant debug Na variável de ambiente PATH coloque plataform-tools/ e execute:adb install bin/MyFirstApp-debug.apkNo emulador localize a aplicação e abra.