Desenvolvendo para Android

40
Desenvolvendo para Android Quais os pré-requisitos? Como começar? Como funciona o Android? Como conseguir ajuda? Como lançar no Android Market? Claudio Roberto França Pereira @spideybr - Spidey@hardMOB - [email protected]

description

Introdução à criação de aplicações Android. Aborda a parte inicial, de instalação dos pré-requisitos, faz uma geral sobre a plataforma e seus principais elementos, e finaliza com um exemplo. Muitas capturas de tela para facilitar o aprendizado.

Transcript of Desenvolvendo para Android

Page 1: Desenvolvendo para Android

Desenvolvendo para Android

● Quais os pré-requisitos?● Como começar?● Como funciona o Android?● Como conseguir ajuda?● Como lançar no Android Market?

Claudio Roberto França Pereira@spideybr - Spidey@hardMOB - [email protected]

Page 2: Desenvolvendo para Android

Quais os pré-requisitos?● GNU/Linux, Windows ou Mac OS X

(somente x86 no Mac OS X e no GNU/Linux)● Java JDK 5 ou 6● Ant 1.8+

● Recomendável: Eclipse IDE + ADT● Utilizaremos o Ubuntu Desktop Edition

10.10 como referência

Page 3: Desenvolvendo para Android

Quais os pré-requisitos?● Instalação do Java JDK (Ubuntu)$ sudo su$ apt-get install sun-java6-jdk$ update-java-alternatives -s java-6-sun

● Ou ainda: http://www.sun.comDownloads -> Java For Developers ->-> Escolha seu SO e arquitetura e sigaas instruções de instalação do site

Page 4: Desenvolvendo para Android

Quais os pré-requisitos?● Instalação do Ant$ apt-get install ant

● Instalação do Eclipse IDE$ apt-get install eclipse

O Ant é dependência do Eclipse. =DUtilizaremos o Eclipse Helios (3.6)

● Instalação do Android SDKhttp://developer.android.com ->

-> Download -> Escolha a versão adequada ao seu SO

Page 5: Desenvolvendo para Android

Quais os pré-requisitos?● Instalação do ADT (Android Development Tools)

Abra o EclipseMenu Help -> Install New Software... ->Adicione o repositório do ADT:https://dl-ssl.google.com/android/eclipse/

Instale todos os plugins disponíveis no repositório

● Siga a sequência de capturas de tela

Page 6: Desenvolvendo para Android

Quais os pré-requisitos?

Page 7: Desenvolvendo para Android

Quais os pré-requisitos?

Page 8: Desenvolvendo para Android

Como começar?● Instalei tudo, e aí? Por que ainda não consigo

compilar meu projeto?● O Android SDK não é suficiente: ainda é preciso

instalar as plataformas Android. Isso é feito pelo Android SDK and AVD Manager.

AVD = Android Virtual Device, são as instâncias de configuração do emulador

YES! Temos emuladores de celulares!YES! Não precisamos ter um dispositivo Android!

Page 9: Desenvolvendo para Android

Como começar?● Para abrir o SDK Manager, podemos utilizar o atalho no

Eclipse, providenciado pelo ADT, ou executar o binário direto da pasta onde o SDK foi instalado.

● Vamos abrir pelo Eclipse. Mas antes, precisamos configurar o ADT para que ele ache o SDK.

Window -> Preferences -> Android● Selecione a pasta do SDK e clique em Apply.● As plataformas disponíveis aparecerão nessa janela,

depois de instaladas.

Page 10: Desenvolvendo para Android

Como começar?

Page 11: Desenvolvendo para Android

Como começar?

Não se assuste se ainda não aparecer nenhuma plataforma, afinal, você ainda não instalou nada!

Page 12: Desenvolvendo para Android

Como começar?● Para abrir o SDK Manager:

Window -> Android SDK and AVD Manager

Page 13: Desenvolvendo para Android

Como começar?● Baixe as plataformas de interesse.

As mais populares são as do Android 1.6, 2.1, 2.2, 2.3 e 3.0.● Após o download e instalação, verifique se tudo ocorreu sem erros.● Se for testar e/ou debugar suas aplicações no emulador, agora é a hora de

criar um AVD, ou um dispositivo Android virtual. As opções são variadas, divirta-se.

● No link [1] você encontra a configuração mais próxima de alguns aparelhos comerciais. Ótimo para testar a sua aplicação contra uma plataforma que você não tem acesso.

1) http://www.android10.org/index.php/articleswhitepapers/181-common-android-virtual-device-configurations

Page 14: Desenvolvendo para Android

Como começar?

Page 15: Desenvolvendo para Android

Como começar?● Pronto, agora sim! Hora de começar! Crie um novo

Android Project no Eclipse e você pode ser chamado, oficialmente, de desenvolvedor Android!

Page 16: Desenvolvendo para Android

Como começar?Complete o nome do projeto, a plataforma alvo, role a

janela e complete ainda o nome da aplicação (como vai

aparecer no menu), o pacote base dela, o nome da

tela/”janela” de início do programa e a versão mínima do

Android em que o programa funcionará. É recomendável

escolher um alvo mais moderno para poder utilizar as

ferramentas de compilação mais atualizadas, mesmo que

você esteja construindo um programa para rodar em uma

plataforma mais antiga.

Page 17: Desenvolvendo para Android

Como funciona o Android?● Estrutura de Arquivos

src/: pasta com os códigos-fonte do programa. Aqui ficam as suas classes.

assets/: arquivos de dados que serão incluídos dentro do seu programa. Esses arquivos serão acessíveis diretamente pelo Android. Geralmente utiliza-se essa pasta para incluir arquivos de ajuda, de forma que o usuário possa navegar pelaajuda do seu programa a partirdo navegador, por exemplo.

Page 18: Desenvolvendo para Android

Como funciona o Android?● Estrutura de Arquivos

res/: arquivos de dados que serão acessados pelo programa exclusivamente. Os arquivos de layout, ícones, sons e strings da aplicação ficam nesta pasta. O que está nesta pasta vai ser servido a aplicação de forma inteligente.

AndroidManifest.xml: arquivo de configuração principal da aplicação.Define o nome do programa,Atividades disponíveis, intentsque a aplicação aceita, versãomáxima e mínima do Android.

Page 19: Desenvolvendo para Android

Como funciona o Android?● res/: ...servido de forma inteligente...

São compilados automaticamente pelo SDK e são acessados através de chaves inteiras. Essas chaves são guardadas na classe estática R. Exemplo: R.layout.main serve a chave do arquivo /res/layout/main.xml.

Os arquivos dessa pasta podem ser organizados de forma que um ”recurso” seja disponibilizado em várias versões, de acordo com o ambiente de onde ele foi pedido.

Por exemplo, botando o layout main.xml na pastares/layout-port e outro equivalente na res/layout-land,serão servidos os dois layouts, dependendo da orientaçãodo celular na inicialização da aplicação.

Page 20: Desenvolvendo para Android

Como funciona o Android?● res/: ...servido de forma inteligente...

São várias as opções de customização de recursos da aplicação: versão do Android, orientação, definição, resolução e tamanho da tela, locale, horário atual, tipo de touchscreen, se tem ou não teclado físico, se tem teclas direcionais, etc.

Exemplo: res/values-pt-rBR/strings.xml para a localização brasileira, res/values-en/strings.xml para a localização em inglês.

Ou ainda: res/layout-port/main.xml para a tela navertical e res/layout-land/main.xml para a tela nahorizontal.

Page 21: Desenvolvendo para Android

Como funciona o Android?● AndroidManifest.xml

Neste arquivo você configura as opções globais da sua aplicação. Quais atividades estão disponíveis, quais intents você trata, qual o nome e ícone do atalho da aplicação no menu do Android, quem é o autor, qual versão, quais os requisitos do programa, quais permissões ele necessita, para quaisversões do Android ele foi projetado.

Page 22: Desenvolvendo para Android

Como funciona o Android?● Arquitetura do Android OS

Page 23: Desenvolvendo para Android

Como funciona o Android?● Entidades principais do Android

● Activity● Intent● Service● Content Providers● Broadcast Receiver

Page 24: Desenvolvendo para Android

Como funciona o Android?● Activity● É uma ”janela” no Android. Uma atividade

providencia a interface que o programador vai personalizar para atender a sua vontade, e com a qual o usuário final interage para atingir o seu objetivo. É uma tela da sua aplicação.

● Uma aplicação consiste basicamenteem uma sequência de atividades.

Page 25: Desenvolvendo para Android

Como funciona o Android?● Activity

● As funcionalidades de interação com o usuário funcionam a partir de callbacks. Todo tipo de evento de interação com o usuário tem o seu callback, que você pode redefinir à sua vontade.

Page 26: Desenvolvendo para Android

Como funciona o Android?

Page 27: Desenvolvendo para Android

Como funciona o Android?● Intent● Cada aplicação Android declara quais tipos de

intenções que ela satisfaz, assim como também pode requerer ao SO alguma aplicação que satisfaça dada intenção.

● A declaração é feita no AndroidManifest.xml, já o pedido é em tempo de execução.O SO gerencia esses pedidos automaticamente.

Page 28: Desenvolvendo para Android

Como funciona o Android?● Service● Serviços são componentes do seu software que

não possuem interface, mas que servem funcionalidades. Um gerenciador de downloads, por exemplo, pode ser implementado como serviço na sua aplicação, de forma que qualquer atividade possautilizá-lo sem criar novas instâncias independentes.

Page 29: Desenvolvendo para Android

Como funciona o Android?● Content Provider● São gerenciadores de dados. Alguns tipos de

dados mais complexos precisam de um controle fino de acesso, e é aí que os provedores de conteúdo entram em cena. Os celulares já vêm com alguns provedores pré-instalados, como os provedores decontatos, de fotos e de eventos nocalendário.

Page 30: Desenvolvendo para Android

Como funciona o Android?● Broadcast Receiver● O receptor de broadcast processa eventos do

sistema, como alterações no estado da conectividade (internet caiu, conectou, está conectando), do GPS (fixou, perdeu o fix), e de outros módulos de software. Os sinais podem ser gerados pelo hardware oupor uma aplicação. Por exemplo:gerenciador de downloads manda umsinal de que ele está livre.

Page 31: Desenvolvendo para Android

Como funciona o Android?● Aplicação de Exemplo

Page 32: Desenvolvendo para Android

Como funciona o Android?● Aplicação de Exemplo

Page 33: Desenvolvendo para Android

Como funciona o Android?● Aplicação de Exemplo

Page 34: Desenvolvendo para Android

Como funciona o Android?● Aplicação de Exemplo

Page 35: Desenvolvendo para Android

Como funciona o Android?● Emulador

Page 36: Desenvolvendo para Android

Como funciona o Android?● Emulador

Page 37: Desenvolvendo para Android

Como funciona o Android?● Emulador

Page 38: Desenvolvendo para Android

Como conseguir ajuda?● Documentação completa online no

http://developer.android.com, inclusive com exemplos e artigos tratando assuntos mais comuns.

● Listas de email: [email protected]

● Stack Overflow, utilizando a tag ”android”● Meu email, sendo que quando eu não

puder te ajudar diretamente, te indicareionde procurar mais informações.

Page 39: Desenvolvendo para Android

Como lançar no Market?● Cadastre-se no Android Market, em:

http://market.android.com/publish● Custo:

● US$ 25, uma única vez● 30% do preço da sua aplicação, se ela for paga, em cada

transação● Cadastre a sua aplicação, especificando preço em diversas moedas,

capturas de tela, descrições,informações do autor, versão, etc.

● Aproveite as ferramentas de medição e estatísticas doGoogle para realimentar o seu projeto e incrementá-lo.O Market disponibiliza diversos indicadores interessantes.

Page 40: Desenvolvendo para Android

Desenvolvendo para Android

● Quais os pré-requisitos?● Como começar?● Como funciona o Android?● Como conseguir ajuda?● Como lançar no Android Market?

Claudio Roberto França Pereira@spideybr - Spidey@hardMOB - [email protected]

Alguém quer comprar um Nintendo 3DS? =D