SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
Introdução à programação em
          Android
               Guilherme Callegaro Sesterheim
GuilhermeSesterheim

•   Consultor e desenvolvedor ABAP da ilegra

•   Possui formação em Análise e
    Desenvolvimento de Sistemas pela Unisinos

•   Mestrando em Computação Aplicada na
    Unisinos

•   Experiência como desenvolvedor Java e na
    plataforma Android
Agenda

•   Quem é a ilegra?

•   Android e smartphones

•   Fragmentação de versões Android

•   Ambiente de desenvolvimento

•   Testes de aplicativos

•   Publicando aplicativos

•   Desenvolvimento
Android

  O que é:
– Sistema operacional móvel baseado em Linux
– Adquirido pela Google em 2005 e lançado em 2008
– Desenvolvimento de aplicações é baseado em Java / C++ / C / C# e
  Python
– Curiosidade: possui 12 milhões de linhas de código, divididas entre
  XML, C, Java e C++
Android

   Curiosidade
                  O Android em 2006
– Sem touch-screen
– Com teclado físico
Android




-   Hoje o Android Market possui mais de 450 mil aplicativos disponíveis (em maio de
    2011 eram 200 mil)
-   Todo mês, em média 20 mil novos aplicativos são enviados
-   (imagem) em Dezembro de 2011, Apple tinha quase 450 mil aplicativos, e Google
    quase 350 mil
Android
          Perspectivas para desenvolvedores

      - O Market vende mais do que a App Store
      (maior loja de aplicativos existente) desde
      março de 2011
      - Desde janeiro de 2011, é permitida a
      inclusão de pagamentos dentro de
      aplicativos
      - Projeção de lucro para desenvolvedores
      independentes x empresas

      Oportunidades de trabalho com Android:
           –   Sites de free-lancers
           –   Projetos open source


      Empregos fixos: entre R$ 2000,00 para
      desenvolvedores e R$ 8000,00 para
      analistas

      - Visibilidade
Android
                         Tendências encontradas

   – Vendas de aplicativos na China cresce exponencialmente,
     tendendo a ultrapassar os EUA como maior comprador de apps*
   – Grandes jogos baixam seus preços cada vez mais
   – 91% das grandes companhias já têm aplicativos para pelo
     menos uma plataforma, e estudam a criação de aplicativos para
     todas
   – Líderes das app stores de hoje não são os de amanhã
       - Entrada do WP




* Chineses não consomem aplicativos Android
Android
Android

                        Smartphones
– Marcos:
     Nov 2009 – Lançamento do Motorola Milestone
     Jun 2010 – Lançamento do Samsung Galaxy S
     Maio 2012 – Lançamento do Samsung Galaxy SIII
– Top Android phones (04/2012):
     Motorola - Droid Razr Maxx
     Samsung - Galaxy Nexus (Galaxy X no Brasil)
     HTC - One S
     Samsung - Galaxy SII
– Curiosidades:
     O lucro da HTC triplicou no primeiro trimestre de 2011 em função
   da demanda por Androids
     A Motorola estudava o desenvolvimento de um mobile OS próprio
     Entrada tímida do WP no mercado não segura prejuízos da Nokia
Android

                   Smartphones de baixo custo

- Samsung Galaxy 5 – 2.1 (R$ 300,00)
- Sony Ericsson Xperia X10 – 2.1 (R$ 300,00)
Android

Problemas do Market
- Aplicativos maliciosos – roubo de
informações
-Em março de 2011 foram descobertos e
removidos 52 aplicativos virais do
Android Market. Eles representavam
diversas ameaças aos usuários,
responsáveis pelos mais de 50 mil
downloads (calculadora, xadrez, entre
outros)
- Iniciada a utilização do Google remote kill,
implementado desde 2008
Fragmentação de versões do Android

Fragmentação de versões operando em smartphones (01/2012)
Fragmentação de versões do Android

         Tentativa de diminuição da fragmentação
Há a expectativa de diminuição da fragmentação de Androids
operando em smartphones e tablets através da liberação do 4.0 – Ice
Cream Sandwich, que será compatível com ambas as plataformas

Há uma negociação entre fabricantes e Google para que todos os
novos modelos de smartphone sejam atualizados por pelo menos 18
meses

Uma mudança recente da Google sobre o Market, fez
com que a partir de então os aplicativos que não são
compatíveis com o aparelho que está fazendo a
busca, não sejam mostrados
Ambiente de desenvolvimento

         Baixando o SDK
Ambiente de desenvolvimento
Escolhendo os SDK que serão instalados
Ambiente de desenvolvimento

             Montando o ambiente de desenvolvimento

1 – Baixar o eclipse em eclipse.org/downloads

2 – Instalar o ADT (Android development tools) plugin
Ambiente de desenvolvimento
Ambiente de desenvolvimento
Ambiente de desenvolvimento

      Montando o ambiente de desenvolvimento – alternativa

1 – Baixar o plugin diretamente no site do Android



2 – Repetir o procedimento mostrado anteriormente, porém escolhendo o
arquivo localmente




Após a instalação, é necessário indicar qual SDK deverá ser utilizado através
do menu Window > Preferences > Android

IMPORTANTE: é necessário verificar periodicamente as atualizações, através do menu
Help > Check for Updates, ou através do site do Android
Ambiente de desenvolvimento
                      Motodev studio
 –Gratuito
 –Não há restrição a aparelhos da Motorola
 –Principais diferenciais:
   * App validator (permissões, e uso de
 código)
   * Code snippets (adicionar facilmente
 códigos já construídos)
   * Application signing automático
   * Suporta o Android NDK (desenvolvimento
  em C e C++)
   * Screen capture de dispositivos emulados e físicos*
   * Tradutor de aplicativos nativo
Ambiente de desenvolvimento

      Construtor de interface
Testes de Aplicativos

Criando dispositivos de teste
Testes de Aplicativos
       Emulador
Testes de Aplicativos

              ADB – Android Debug Bridge

- O que é
- Localizado em <sdk-path>/platform-tools/
- Pode receber instruções via linha de comando
Publicando Aplicativos

Criando conta no Android Market
Publicando Aplicativos


- Inserindo dados
comerciais na conta do
Google Checkout para
poder vender aplicativos

- É permitido o cadastro de
pessoas físicas
Publicando Aplicativos

Atrelando conta do AdSense ao Google Checkout
Publicando Aplicativos

       Manage board
Publicando Aplicativos

  Passos para publicar um aplicativo:

1. Enviando o .apk
2. Enviar recursos para divulgação
3. Descrever detalhes sobre a aplicação
4. Opções de publicação
5. Informações para contato a ser divulgada aos usuários
6. Autorização ao Google
Publicando Aplicativos
Enviar recursos para divulgação
Publicando Aplicativos

Descrever detalhes sobre a aplicação
Publicando Aplicativos

Descrever detalhes sobre a aplicação / Opções de
                  publicação
Publicando Aplicativos

– Informações para contato a ser divulgada aos usuários
– Autorização ao Google
Desenvolvimento

                      Fundamentals

- Os aplicativos de Android são instalados através de um .apk
- A partir do momento em que é instalado, cada aplicativo do Android
tem sua sandbox (baseia-se no conceito de multi-usuários do Linux)
- Cada processo recebe suas permissões específicas
- Cada processo executa dentro de uma VM
- Cada aplicação consegue acessar apenas o que foi determinado
através do manifest
Desenvolvimento

     Manifest
Desenvolvimento

                     Debugging

- ADB – Android Debug Bridge
- AVD – Android Virtual Device
- Logcat
- Captura de telas
-Debug.startMethodTracing(String fileName)
Desenvolvimento

                             Activities
- Uma Activity é um componente da aplicação (uma classe), que proverá uma
tela com a qual o usuário poderá interagir

- Geralmente o desenho ocupa a tela inteira, mas ela pode ser diminuída para
ser feito o efeito de flutuação sobre outras telas já existentes

- Implementando métodos obrigatórios:
    onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()

- Intents:
     ACTION_VIEW
     ACTION_DIAL
     ACTION_EDIT
     ACTION_MAIN
Desenvolvimento

- Definindo a tela que será exibida:
setContentView( String
codigoArquivoXML)
- Iniciando sub atividade:
startActivity(Intent nova)
- Capturando resultado de uma
 atividade: startActivityForResult() /
 onActivityResult()
- Finalizando uma atividade: finish() /
finishActivity()
- Guardando o estado de uma Activity –
onSaveInstanceState() /
onRestoreInstanceState()
- Outros eventos importantes:
onCreateOptionsMenu, onKeyDown,
onMenuItemSelected, onTouchEvent,
onWindowFocusChanged
Desenvolvimento


                       Services

- São atividades que operam em background por um longo tempo
e não provêem interface para o usuário

- É necessário declarar os Services, que a aplicação poderá
disparar, no manifest

- Pode ser executado, desacoplado, e capturado futuramente

- onCreate(), onStartCommand(), onBind(), onUnbind(),
onRebind(), onDestroy()
Desenvolvimento
Desenvolvimento

 UI – User Interface
     ViewGroup, View
      addView(View)
        Listeners
Desenvolvimento


                   Data Storage

- Shared Preferences – dados de usuário / internos do smartphone
- Internal storage
     MODE_PRIVATE
     MODE_APPEND
     MODE_WORLD_READABLE
     MODE_WORLD_WRITABLE

- External storage
     Environment.getExternalStorageState()
     getExternalStoragePublicDirectory() –
     images/music/ringtones/videos

- SQLite databases
- Network connection
Desenvolvimento


                            Security
- Nenhuma aplicação tem permissão para interferir em outros processos,
outras aplicações, ou informações confidenciais do sistema
- Application signing
- Permissões
     Existem 115 diferentes tipos de permissões
Desenvolvimento

                          Widgets
- Manifest




- AppWidgetProviderInfo




- onUpdate() onDeleted(), onEnabled(), onDisabled(), onReceive()
Perguntas?
Obrigado!
 Guilherme Sesterheim
guilherme.sesterheim@ilegra.com
           @guisester

Mais conteúdo relacionado

Mais procurados

SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidRafael Sakurai
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneHenrique Perticarati
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rqKMILT
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisÉdipo Souza
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4Jose Berardo
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional AndroidLucas Damasceno
 
Android e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociaisAndroid e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociaisFelipe Silveira
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - BásicoHugoDalevedove
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Jose Berardo
 
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...Édipo Souza
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidJosé Alexandre Macedo
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma AndroidNatanael Fonseca
 
A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.Suelen Carvalho
 

Mais procurados (20)

Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Apresentação android
Apresentação androidApresentação android
Apresentação android
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
 
Show Day Droid x
Show Day Droid xShow Day Droid x
Show Day Droid x
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rq
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Palestra Android
Palestra AndroidPalestra Android
Palestra Android
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Android e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociaisAndroid e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociais
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 
Android
AndroidAndroid
Android
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1
 
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
Android
AndroidAndroid
Android
 
Android Aprendiz
Android AprendizAndroid Aprendiz
Android Aprendiz
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.
 

Destaque

Pesl introducao a programacao para android
Pesl   introducao a programacao para androidPesl   introducao a programacao para android
Pesl introducao a programacao para androidRegis Claus
 
Programação em Android - Aula 1 - Introdução
Programação em Android - Aula 1 - IntroduçãoProgramação em Android - Aula 1 - Introdução
Programação em Android - Aula 1 - IntroduçãoTecnoinf
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em AndroidPedro Veloso
 
Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?Rudson Lima
 
Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2Matheus Calegaro
 

Destaque (10)

Pesl introducao a programacao para android
Pesl   introducao a programacao para androidPesl   introducao a programacao para android
Pesl introducao a programacao para android
 
Programação em Android - Aula 1 - Introdução
Programação em Android - Aula 1 - IntroduçãoProgramação em Android - Aula 1 - Introdução
Programação em Android - Aula 1 - Introdução
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Android
 
Android - Além do HelloWord
Android - Além do HelloWordAndroid - Além do HelloWord
Android - Além do HelloWord
 
Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?
 
Android - Parte 8
Android - Parte 8Android - Parte 8
Android - Parte 8
 
Conhecendo android
Conhecendo androidConhecendo android
Conhecendo android
 
Aula android 01.pdf
Aula android 01.pdfAula android 01.pdf
Aula android 01.pdf
 
Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2
 
Mulheres
MulheresMulheres
Mulheres
 

Semelhante a Introdução à programação em Android

Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Androidguisester
 
Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013guisester
 
Workshop sobre códigos em android usp 22.08.2013
Workshop sobre códigos em android   usp 22.08.2013Workshop sobre códigos em android   usp 22.08.2013
Workshop sobre códigos em android usp 22.08.2013guisester
 
Palestra sobre Android - Faculdade Hélio Rocha
Palestra sobre Android  - Faculdade Hélio RochaPalestra sobre Android  - Faculdade Hélio Rocha
Palestra sobre Android - Faculdade Hélio RochaUbiracy Santos
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android NooclixIury Teixeira
 
Hands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JFHands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JFGiordano Bruno Vieira
 
Palestra Dispositivos Móveis
Palestra Dispositivos MóveisPalestra Dispositivos Móveis
Palestra Dispositivos MóveisGrendene S/A
 
Android Palestra
Android PalestraAndroid Palestra
Android PalestraRenato
 
Aula01 mobilidade android
Aula01 mobilidade androidAula01 mobilidade android
Aula01 mobilidade androidRoberson Alves
 
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisSeminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisRogério Moraes de Carvalho
 
Introdução ao Desenvolvimento para Android
Introdução ao Desenvolvimento para AndroidIntrodução ao Desenvolvimento para Android
Introdução ao Desenvolvimento para AndroidMário Valney
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o AndroidHeider Lopes
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Androidjgbirk
 

Semelhante a Introdução à programação em Android (20)

Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Android
 
Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013
 
Workshop sobre códigos em android usp 22.08.2013
Workshop sobre códigos em android   usp 22.08.2013Workshop sobre códigos em android   usp 22.08.2013
Workshop sobre códigos em android usp 22.08.2013
 
Palestra sobre Android - Faculdade Hélio Rocha
Palestra sobre Android  - Faculdade Hélio RochaPalestra sobre Android  - Faculdade Hélio Rocha
Palestra sobre Android - Faculdade Hélio Rocha
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android Nooclix
 
Android
AndroidAndroid
Android
 
Hands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JFHands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JF
 
Ciclo de palestras da JFRJ - Aplicativos Móveis
Ciclo de palestras da JFRJ - Aplicativos MóveisCiclo de palestras da JFRJ - Aplicativos Móveis
Ciclo de palestras da JFRJ - Aplicativos Móveis
 
Palestra Dispositivos Móveis
Palestra Dispositivos MóveisPalestra Dispositivos Móveis
Palestra Dispositivos Móveis
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
 
Aula01 mobilidade android
Aula01 mobilidade androidAula01 mobilidade android
Aula01 mobilidade android
 
Android - Notas de aula
Android - Notas de aulaAndroid - Notas de aula
Android - Notas de aula
 
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisSeminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
 
Android Developing
Android DevelopingAndroid Developing
Android Developing
 
Introdução ao Desenvolvimento para Android
Introdução ao Desenvolvimento para AndroidIntrodução ao Desenvolvimento para Android
Introdução ao Desenvolvimento para Android
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o Android
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 
GSOIII - INTRODUÇÃO AO ANDROID
GSOIII - INTRODUÇÃO AO ANDROIDGSOIII - INTRODUÇÃO AO ANDROID
GSOIII - INTRODUÇÃO AO ANDROID
 
Going Mobile
Going MobileGoing Mobile
Going Mobile
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Android
 

Introdução à programação em Android

  • 1. Introdução à programação em Android Guilherme Callegaro Sesterheim
  • 2. GuilhermeSesterheim • Consultor e desenvolvedor ABAP da ilegra • Possui formação em Análise e Desenvolvimento de Sistemas pela Unisinos • Mestrando em Computação Aplicada na Unisinos • Experiência como desenvolvedor Java e na plataforma Android
  • 3. Agenda • Quem é a ilegra? • Android e smartphones • Fragmentação de versões Android • Ambiente de desenvolvimento • Testes de aplicativos • Publicando aplicativos • Desenvolvimento
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. Android O que é: – Sistema operacional móvel baseado em Linux – Adquirido pela Google em 2005 e lançado em 2008 – Desenvolvimento de aplicações é baseado em Java / C++ / C / C# e Python – Curiosidade: possui 12 milhões de linhas de código, divididas entre XML, C, Java e C++
  • 10. Android Curiosidade O Android em 2006 – Sem touch-screen – Com teclado físico
  • 11. Android - Hoje o Android Market possui mais de 450 mil aplicativos disponíveis (em maio de 2011 eram 200 mil) - Todo mês, em média 20 mil novos aplicativos são enviados - (imagem) em Dezembro de 2011, Apple tinha quase 450 mil aplicativos, e Google quase 350 mil
  • 12. Android Perspectivas para desenvolvedores - O Market vende mais do que a App Store (maior loja de aplicativos existente) desde março de 2011 - Desde janeiro de 2011, é permitida a inclusão de pagamentos dentro de aplicativos - Projeção de lucro para desenvolvedores independentes x empresas Oportunidades de trabalho com Android: – Sites de free-lancers – Projetos open source Empregos fixos: entre R$ 2000,00 para desenvolvedores e R$ 8000,00 para analistas - Visibilidade
  • 13. Android Tendências encontradas – Vendas de aplicativos na China cresce exponencialmente, tendendo a ultrapassar os EUA como maior comprador de apps* – Grandes jogos baixam seus preços cada vez mais – 91% das grandes companhias já têm aplicativos para pelo menos uma plataforma, e estudam a criação de aplicativos para todas – Líderes das app stores de hoje não são os de amanhã - Entrada do WP * Chineses não consomem aplicativos Android
  • 15. Android Smartphones – Marcos: Nov 2009 – Lançamento do Motorola Milestone Jun 2010 – Lançamento do Samsung Galaxy S Maio 2012 – Lançamento do Samsung Galaxy SIII – Top Android phones (04/2012): Motorola - Droid Razr Maxx Samsung - Galaxy Nexus (Galaxy X no Brasil) HTC - One S Samsung - Galaxy SII – Curiosidades: O lucro da HTC triplicou no primeiro trimestre de 2011 em função da demanda por Androids A Motorola estudava o desenvolvimento de um mobile OS próprio Entrada tímida do WP no mercado não segura prejuízos da Nokia
  • 16. Android Smartphones de baixo custo - Samsung Galaxy 5 – 2.1 (R$ 300,00) - Sony Ericsson Xperia X10 – 2.1 (R$ 300,00)
  • 17. Android Problemas do Market - Aplicativos maliciosos – roubo de informações -Em março de 2011 foram descobertos e removidos 52 aplicativos virais do Android Market. Eles representavam diversas ameaças aos usuários, responsáveis pelos mais de 50 mil downloads (calculadora, xadrez, entre outros) - Iniciada a utilização do Google remote kill, implementado desde 2008
  • 18.
  • 19. Fragmentação de versões do Android Fragmentação de versões operando em smartphones (01/2012)
  • 20. Fragmentação de versões do Android Tentativa de diminuição da fragmentação Há a expectativa de diminuição da fragmentação de Androids operando em smartphones e tablets através da liberação do 4.0 – Ice Cream Sandwich, que será compatível com ambas as plataformas Há uma negociação entre fabricantes e Google para que todos os novos modelos de smartphone sejam atualizados por pelo menos 18 meses Uma mudança recente da Google sobre o Market, fez com que a partir de então os aplicativos que não são compatíveis com o aparelho que está fazendo a busca, não sejam mostrados
  • 21.
  • 22. Ambiente de desenvolvimento Baixando o SDK
  • 23. Ambiente de desenvolvimento Escolhendo os SDK que serão instalados
  • 24. Ambiente de desenvolvimento Montando o ambiente de desenvolvimento 1 – Baixar o eclipse em eclipse.org/downloads 2 – Instalar o ADT (Android development tools) plugin
  • 27. Ambiente de desenvolvimento Montando o ambiente de desenvolvimento – alternativa 1 – Baixar o plugin diretamente no site do Android 2 – Repetir o procedimento mostrado anteriormente, porém escolhendo o arquivo localmente Após a instalação, é necessário indicar qual SDK deverá ser utilizado através do menu Window > Preferences > Android IMPORTANTE: é necessário verificar periodicamente as atualizações, através do menu Help > Check for Updates, ou através do site do Android
  • 28. Ambiente de desenvolvimento Motodev studio –Gratuito –Não há restrição a aparelhos da Motorola –Principais diferenciais: * App validator (permissões, e uso de código) * Code snippets (adicionar facilmente códigos já construídos) * Application signing automático * Suporta o Android NDK (desenvolvimento em C e C++) * Screen capture de dispositivos emulados e físicos* * Tradutor de aplicativos nativo
  • 29. Ambiente de desenvolvimento Construtor de interface
  • 30.
  • 31. Testes de Aplicativos Criando dispositivos de teste
  • 33. Testes de Aplicativos ADB – Android Debug Bridge - O que é - Localizado em <sdk-path>/platform-tools/ - Pode receber instruções via linha de comando
  • 34.
  • 36. Publicando Aplicativos - Inserindo dados comerciais na conta do Google Checkout para poder vender aplicativos - É permitido o cadastro de pessoas físicas
  • 37. Publicando Aplicativos Atrelando conta do AdSense ao Google Checkout
  • 38. Publicando Aplicativos Manage board
  • 39. Publicando Aplicativos Passos para publicar um aplicativo: 1. Enviando o .apk 2. Enviar recursos para divulgação 3. Descrever detalhes sobre a aplicação 4. Opções de publicação 5. Informações para contato a ser divulgada aos usuários 6. Autorização ao Google
  • 42. Publicando Aplicativos Descrever detalhes sobre a aplicação / Opções de publicação
  • 43. Publicando Aplicativos – Informações para contato a ser divulgada aos usuários – Autorização ao Google
  • 44.
  • 45. Desenvolvimento Fundamentals - Os aplicativos de Android são instalados através de um .apk - A partir do momento em que é instalado, cada aplicativo do Android tem sua sandbox (baseia-se no conceito de multi-usuários do Linux) - Cada processo recebe suas permissões específicas - Cada processo executa dentro de uma VM - Cada aplicação consegue acessar apenas o que foi determinado através do manifest
  • 46. Desenvolvimento Manifest
  • 47. Desenvolvimento Debugging - ADB – Android Debug Bridge - AVD – Android Virtual Device - Logcat - Captura de telas -Debug.startMethodTracing(String fileName)
  • 48. Desenvolvimento Activities - Uma Activity é um componente da aplicação (uma classe), que proverá uma tela com a qual o usuário poderá interagir - Geralmente o desenho ocupa a tela inteira, mas ela pode ser diminuída para ser feito o efeito de flutuação sobre outras telas já existentes - Implementando métodos obrigatórios: onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy() - Intents: ACTION_VIEW ACTION_DIAL ACTION_EDIT ACTION_MAIN
  • 49. Desenvolvimento - Definindo a tela que será exibida: setContentView( String codigoArquivoXML) - Iniciando sub atividade: startActivity(Intent nova) - Capturando resultado de uma atividade: startActivityForResult() / onActivityResult() - Finalizando uma atividade: finish() / finishActivity() - Guardando o estado de uma Activity – onSaveInstanceState() / onRestoreInstanceState() - Outros eventos importantes: onCreateOptionsMenu, onKeyDown, onMenuItemSelected, onTouchEvent, onWindowFocusChanged
  • 50. Desenvolvimento Services - São atividades que operam em background por um longo tempo e não provêem interface para o usuário - É necessário declarar os Services, que a aplicação poderá disparar, no manifest - Pode ser executado, desacoplado, e capturado futuramente - onCreate(), onStartCommand(), onBind(), onUnbind(), onRebind(), onDestroy()
  • 52. Desenvolvimento UI – User Interface ViewGroup, View addView(View) Listeners
  • 53. Desenvolvimento Data Storage - Shared Preferences – dados de usuário / internos do smartphone - Internal storage MODE_PRIVATE MODE_APPEND MODE_WORLD_READABLE MODE_WORLD_WRITABLE - External storage Environment.getExternalStorageState() getExternalStoragePublicDirectory() – images/music/ringtones/videos - SQLite databases - Network connection
  • 54. Desenvolvimento Security - Nenhuma aplicação tem permissão para interferir em outros processos, outras aplicações, ou informações confidenciais do sistema - Application signing - Permissões Existem 115 diferentes tipos de permissões
  • 55. Desenvolvimento Widgets - Manifest - AppWidgetProviderInfo - onUpdate() onDeleted(), onEnabled(), onDisabled(), onReceive()
  • 56.