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 - spideybr@gmail.com
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
Quais os pré-requisitos?
●   Instalação do Java JDK (Ubuntu)
    $ sudo su
    $ apt-get i al sun-j
              nst l    ava6-j
                            dk
    $ updat ava-alernatves -s j
           e-j     t    i     ava-6-sun

●   Ou ainda: http:
                  //www. com
                       sun.

    Downloads -> Java For Developers ->
    -> Escolha seu SO e arquitetura e siga
    as instruções de instalação do site
Quais os pré-requisitos?
●   Instalação do Ant
    $ apt-get i al ant
              nst l

●   Instalação do Eclipse IDE
    $ apt-get i al eclpse
              nst l i
                              O Ant é dependência do Eclipse. =D
                              Utilizaremos o Eclipse Helios (3.6)
●   Instalação do Android SDK
    ht p:
      t //devel   androi com ->
              oper.    d.
    -> Download -> Escolha a versão adequada ao seu SO
Quais os pré-requisitos?
●   Instalação do ADT (Android Development Tools)
    Abra o Eclipse
    Menu Help -> Install New Software... ->
    Adicione o repositório do ADT:
    ht ps: -sslgoogl com /androi
      t //dl .     e.          d/eclpse/
                                   i
    Instale todos os plugins disponíveis no repositório


●   Siga a sequência de capturas de tela
Quais os pré-requisitos?
Quais os pré-requisitos?
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!
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.
Como começar?
Como começar?


                Não se assuste se
                ainda não aparecer
                nenhuma plataforma,
                afinal, você ainda não
                instalou nada!
Como começar?
●   Para abrir o SDK Manager:
          Window -> Android SDK and AVD Manager
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
Como começar?
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!
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.
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 pela
                    ajuda do seu programa a partir
                    do navegador, por exemplo.
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, intents
                    que a aplicação aceita, versão
                    máxima e mínima do 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 pasta
res/layout-port e outro equivalente na res/layout-land,
serão servidos os dois layouts, dependendo da orientação
do celular na inicialização da aplicação.
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 na
vertical e res/layout-land/main.xml para a tela na
horizontal.
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 quais
     versões do Android ele foi projetado.
Como funciona o Android?
●   Arquitetura do Android OS
Como funciona o Android?
●   Entidades principais do Android

       ●   Activity
       ●   Intent
       ●   Service
       ●   Content Providers
       ●   Broadcast Receiver
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 basicamente
     em uma sequência de atividades.
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.
Como funciona o 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.
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 possa
      utilizá-lo sem criar novas instâncias
      independentes.
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 de
     contatos, de fotos e de eventos no
     calendário.
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 ou
     por uma aplicação. Por exemplo:
     gerenciador de downloads manda um
     sinal de que ele está livre.
Como funciona o Android?
●   Aplicação de Exemplo
Como funciona o Android?
●   Aplicação de Exemplo
Como funciona o Android?
●   Aplicação de Exemplo
Como funciona o Android?
●   Aplicação de Exemplo
Como funciona o Android?
●   Emulador
Como funciona o Android?
●   Emulador
Como funciona o Android?
●   Emulador
Como conseguir ajuda?
●   Documentação completa online no
     http://developer.android.com, inclusive com
     exemplos e artigos tratando assuntos mais comuns.
●   Listas de email:
      android-developers@googlegroups.com
●   Stack Overflow, utilizando a tag ”android”
●   Meu email, sendo que quando eu não
     puder te ajudar diretamente, te indicarei
     onde procurar mais informações.
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 do
      Google para realimentar o seu projeto e incrementá-lo.
      O Market disponibiliza diversos indicadores interessantes.
Desenvolvendo para
Android
●   Quais os pré-requisitos?
                                    Alguém quer comprar
●   Como começar?                   um Nintendo 3DS? =D
●   Como funciona o Android?
●   Como conseguir ajuda?
●   Como lançar no Android Market?


          Claudio Roberto França Pereira
@spideybr - Spidey@hardMOB - spideybr@gmail.com

Desenvolvendo para Android

  • 1.
    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 - spideybr@gmail.com
  • 2.
    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
  • 3.
    Quais os pré-requisitos? ● Instalação do Java JDK (Ubuntu) $ sudo su $ apt-get i al sun-j nst l ava6-j dk $ updat ava-alernatves -s j e-j t i ava-6-sun ● Ou ainda: http: //www. com sun. Downloads -> Java For Developers -> -> Escolha seu SO e arquitetura e siga as instruções de instalação do site
  • 4.
    Quais os pré-requisitos? ● Instalação do Ant $ apt-get i al ant nst l ● Instalação do Eclipse IDE $ apt-get i al eclpse nst l i O Ant é dependência do Eclipse. =D Utilizaremos o Eclipse Helios (3.6) ● Instalação do Android SDK ht p: t //devel androi com -> oper. d. -> Download -> Escolha a versão adequada ao seu SO
  • 5.
    Quais os pré-requisitos? ● Instalação do ADT (Android Development Tools) Abra o Eclipse Menu Help -> Install New Software... -> Adicione o repositório do ADT: ht ps: -sslgoogl com /androi t //dl . e. d/eclpse/ i Instale todos os plugins disponíveis no repositório ● Siga a sequência de capturas de tela
  • 6.
  • 7.
  • 8.
    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!
  • 9.
    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.
  • 10.
  • 11.
    Como começar? Não se assuste se ainda não aparecer nenhuma plataforma, afinal, você ainda não instalou nada!
  • 12.
    Como começar? ● Para abrir o SDK Manager: Window -> Android SDK and AVD Manager
  • 13.
    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
  • 14.
  • 15.
    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!
  • 16.
    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.
  • 17.
    Como funciona oAndroid? ● 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 pela ajuda do seu programa a partir do navegador, por exemplo.
  • 18.
    Como funciona oAndroid? ● 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, intents que a aplicação aceita, versão máxima e mínima do Android.
  • 19.
    Como funciona oAndroid? ● 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 pasta res/layout-port e outro equivalente na res/layout-land, serão servidos os dois layouts, dependendo da orientação do celular na inicialização da aplicação.
  • 20.
    Como funciona oAndroid? ● 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 na vertical e res/layout-land/main.xml para a tela na horizontal.
  • 21.
    Como funciona oAndroid? ● 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 quais versões do Android ele foi projetado.
  • 22.
    Como funciona oAndroid? ● Arquitetura do Android OS
  • 23.
    Como funciona oAndroid? ● Entidades principais do Android ● Activity ● Intent ● Service ● Content Providers ● Broadcast Receiver
  • 24.
    Como funciona oAndroid? ● 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 basicamente em uma sequência de atividades.
  • 25.
    Como funciona oAndroid? ● 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.
  • 26.
  • 27.
    Como funciona oAndroid? ● 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.
  • 28.
    Como funciona oAndroid? ● 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 possa utilizá-lo sem criar novas instâncias independentes.
  • 29.
    Como funciona oAndroid? ● 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 de contatos, de fotos e de eventos no calendário.
  • 30.
    Como funciona oAndroid? ● 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 ou por uma aplicação. Por exemplo: gerenciador de downloads manda um sinal de que ele está livre.
  • 31.
    Como funciona oAndroid? ● Aplicação de Exemplo
  • 32.
    Como funciona oAndroid? ● Aplicação de Exemplo
  • 33.
    Como funciona oAndroid? ● Aplicação de Exemplo
  • 34.
    Como funciona oAndroid? ● Aplicação de Exemplo
  • 35.
    Como funciona oAndroid? ● Emulador
  • 36.
    Como funciona oAndroid? ● Emulador
  • 37.
    Como funciona oAndroid? ● Emulador
  • 38.
    Como conseguir ajuda? ● Documentação completa online no http://developer.android.com, inclusive com exemplos e artigos tratando assuntos mais comuns. ● Listas de email: android-developers@googlegroups.com ● Stack Overflow, utilizando a tag ”android” ● Meu email, sendo que quando eu não puder te ajudar diretamente, te indicarei onde procurar mais informações.
  • 39.
    Como lançar noMarket? ● 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 do Google para realimentar o seu projeto e incrementá-lo. O Market disponibiliza diversos indicadores interessantes.
  • 40.
    Desenvolvendo para Android ● Quais os pré-requisitos? Alguém quer comprar ● Como começar? um Nintendo 3DS? =D ● Como funciona o Android? ● Como conseguir ajuda? ● Como lançar no Android Market? Claudio Roberto França Pereira @spideybr - Spidey@hardMOB - spideybr@gmail.com