SlideShare uma empresa Scribd logo
Diego Keller
keller.diego@gmail.com
@diegokeller
Desenvolvimento android
   Primeiros conceitos
   Desafios
   Ambiente de desenvolvimento
   Números sobre o Android
   Buscando Informação
   Android Ice Cream Sandwich
Desenvolvimento android
   Android é uma pilha!!!
 “Pilha de softwares para dispositivos móveis
  que inclui um sistema operacional,
  middleware e aplicações chave.”
 O Android SDK provê as ferramentas e API’s
  necessárias para o desenvolvimento de
  aplicações para a plataforma Android usando
  a linguagem de programação Java.
Desenvolvimento android
Dalvik VM



  Java VM



Máquina virtual Java simplificada e otimizada para execução
   de aplicações em dispositivos com menor poder de
                processamento e memória.
   Não é compatível com a especificação da
    JVM:
     Não pode rodar aplicativos Java SE nem ME
   Executa arquivos no formato próprio .DEX
   É Open Source: Apache License 2.0
   Cada aplicação é executada em uma instância
    da VM Dalvik.
     Aplicações não compartilham dados (memória)
     nem código.
   A sistema Android foi adaptado para poder
    gerenciar diversas instância da VM
    simultaneamente.
 Existe uma
       API para cada
       versão do
       Android
      Novas
       versões são
       compatíveis
       com as
       anteriores.


Fonte: http://developer.android.com/guide/appendix/api-levels.html
 Ao criar sua aplicação, procure compilar
  usando a menor versão da API possível.
 Novas versões irão rodar sua aplicação sem
  problemas. Mas é importante que você teste
  a aplicação no maior número de versões
  possível.
 E usando a menor versão possível, você
  aumenta o número de dispositivos que
  podem executar sua aplicação.
 Aplicações Android são empacotadas no
  formato .APK.
 O Android é um sistema Linux multiusuário,
  onde cada aplicação tem o seu usuário.
     Permissões são definidas em todos os arquivos da
     aplicação, de modo que apenas o usuário da
     própria aplicação tenha acesso.
   Cada aplicação roda em um processo, que é
    uma instância da Dalvik.
Desenvolvimento android
   Performance
     Menos memória e processador, velocidade de
     conexão.
   Usabilidade
     Telas menores
   Diversidade
     de dispositivos
   Compatibilidade
     Diferentes versões da API do Android.
   Escolha as estruturas de dados corretas
    dependendo do seu problema.
   Assegure-se de utilizar algoritmos eficientes
    e de rápida execução.
   Escolher as estruturas de dados corretas e os
    algoritmos mais eficientes são a melhor
    forma de otimizar o seu programa.
 Prefira os tipos primitivos int aos objetos
  Integer.
 Prefira dois arrays de objetos ao invés de um
  único array de um objeto novo.
     Pessoa[] destinatarios
     String[] nomes
     String[] emails
   Evite criar objetos que você não precisa, ou
    objetos de vida curta. Quanto menos objetos
    você criar, melhor.
   Não use getters e setter para acesso a
    campos dentro da própria classe. Acesse-os
    diretamente.
     Em comparação ao acesso por getter, o acesso
      direto é 3 x mais rápido em VM’s sem o JIT e 7 x
      mais rápido em VM’s com JIT.
   Sempre que possível use constantes
     static final int intVal = 42;
      static final String strVal = "Hello, world!";
 Use a seguinte sintaxe do for
for (Foo a : mArray) {
  // Código
}
   Threads
   Estruturas de Dados
     API de coleções
   Webservices
   ANR - Application
    Not Responding
   Tamanho da tela (em polegadas)
   Densidade da tela (resolução), medida em
    pixels por polegada.
Desenvolvimento android
   JDK
     JAVA_HOME nas variáveis de ambiente
     Adicionar a pasta JAVA_HOME/bin no PATH
   Eclipse
   Android SDK
     Apenas descompactar em um diretório
   Plugin ADT para Eclipse
     Configurar o caminho do Android SDK (pasta
     extraída anteriormente)
   Eclipse
     Editor visual no estilo arrastar e soltar para
      construção das telas.
     Execução em modo debug
     Editor visual para o arquivo Manifest
     Compilação, empacotamento e assinatura de sua
      aplicação em um arquivo .APK
Desenvolvimento android
Desenvolvimento android
   Emulador
   Android SDK and AVD Manager
 Contém uma séria de informações sobre sua
  aplicação.
 Nele são feitas definições como:
     Permissões que sua aplicação precisa (acesso a
        internet, a lista de contatos, etc)
       Hardware e software necessários (câmera, bluetooth,
        etc)
       Versão mínima do Android necessária para rodar a
        aplicação
       Outras bibliotecas que não as nativas da plataforma.
       Versão de sua aplicação
   O Android Market irá ler todas as
    informações do arquivo Manifest de modo a
    apresentar para o usuário apenas as
    aplicações que o seu dispositivo pode
    suportar.
   Inscrição:
     https://market.android.com/publish/signup
 Taxa de US$25,00 com cartão de crédito via
  Google Checkout.
 Taxa de 30% do valor de cada cópia vendida
  do Android Market
     Esse dinheiro vai para as entidades de pagamento
     e outros, não fica para o Google.
 A plataforma fornece uma ferramenta para
  aplicar licenciamento em aplicações.
 Disponível apenas para aplicações pagas.
 Não tem custo nenhum.
 Exige API nível 3 no mínimo.
 A partir da versão 8 da API, você pode
  escolher que sua aplicação seja instalada no
  SD Card ao invés da memória interna.
 É uma decisão que o desenvolvedor deve
  fazer. Para permitir isso, defina o parâmetro
  “android:installLocation” no seu arquivo de
  manifesto.
 A qualquer momento o usuário pode mover a
  aplicação para o SD Card ou para a memória
  interna.
 O arquivo .APK fica no SD Card, mas todos os
  dados do usuário, bancos de dados e arquivos
  .DEX otimizados ficam dentro da memória
  interna.
 Ao ser instalada no SD Card a aplicação é
  criptografada usando uma chave aleatória.
  Apenas o dispositivo aonde a aplicação foi
  instalada pode descriptografar e acessar a
  aplicação.
   Quando o cartão de memória for
    desmontado, ou o dispositivo conectado ao
    PC para armazenamento de arquivos, todas
    as aplicações instaladas no SD Card são
    automaticamente finalizadas.
Desenvolvimento android
Fonte: http://www.businessinsider.com/chart-of-the-day-android-activations-2011-10
Fonte: http://blog.nielsen.com/nielsenwire/?p=27418
Março de 2011
Fonte: http://blog.nielsen.com/nielsenwire/?p=27418
Agosto de 2011
Fonte: http://goo.gl/k4nm0
Fonte: http://blog.nielsen.com/nielsenwire/?p=27418
Dispositivos que acessaram o Android Market num período de 14 dias terminando em 3
de Outubro de 2011.
Fonte: http://developer.android.com/resources/dashboard/platform-versions.html
Dispositivos que acessaram o Android Market num período de 7 dias terminando em 3
de Outubro de 2011.
Fonte: http://developer.android.com/resources/dashboard/screens.html
Desenvolvimento android
 O melhor local para buscar informações é a
  página do desenvolvedor:
 http://developer.android.com/index.html
   Lá você entra:
     SDK’s
     Documentação
     Referência da API
     Download de exemplos
Desenvolvimento android
Desenvolvimento android
 Lançado dia 19/10/2011
 Unificação do Android para tablets e
  smartphones.
 Aparelhos lançados em 2011 com Android 2.3
  de fábrica serão atualizados para o ICS.
   Unificação do Android para tablets e
    smartphones.
Desenvolvimento android

Mais conteúdo relacionado

PDF
Programando Android - Aula 2
PDF
Curso de Android - aula 2
PDF
Seminário SD - Ambiente de Desenvolvimento para Android
PDF
Programando Android - Aula 1
PPTX
Programação Android - Básico
PPSX
Ambiente desenvolvimento
PDF
Aulas Google Android
ODP
Pesl introducao a programacao para android
Programando Android - Aula 2
Curso de Android - aula 2
Seminário SD - Ambiente de Desenvolvimento para Android
Programando Android - Aula 1
Programação Android - Básico
Ambiente desenvolvimento
Aulas Google Android
Pesl introducao a programacao para android

Mais procurados (20)

PDF
Desenvolvendo para Android
PDF
Introdução ao Android Studio
PDF
Android Aprendiz
PPT
Introdução à programação para Android
PDF
Curso de Google Android - Aula 1
PDF
Tutorial - Como criar sua primeira app para Android
PDF
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
PDF
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
PDF
Curso de Android Aula 4
PDF
Empreendedori$mo com Android
PPT
PALESTRA :: Desenvolvimento para plataforma Android
PPTX
Sistema Operacional Android
PDF
Curso de Android - aula 3
PDF
Tutorial de Instalação Eclipse + Android SDK
PPTX
Plataforma Android
PDF
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
PDF
Introdução ao Desenvolvimento Android
PPTX
Introdução ao Android
PPTX
Introdução ao android
Desenvolvendo para Android
Introdução ao Android Studio
Android Aprendiz
Introdução à programação para Android
Curso de Google Android - Aula 1
Tutorial - Como criar sua primeira app para Android
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Curso de Android Aula 4
Empreendedori$mo com Android
PALESTRA :: Desenvolvimento para plataforma Android
Sistema Operacional Android
Curso de Android - aula 3
Tutorial de Instalação Eclipse + Android SDK
Plataforma Android
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Introdução ao Desenvolvimento Android
Introdução ao Android
Introdução ao android
Anúncio

Destaque (16)

ODP
Meu primeiro app nativo para Android - Minicurso SCTI UENF
PPTX
Android case: 5 perguntas + 1 sobre desenvolvimento para Android
PPT
Desenvolvimento para Android
PPTX
1ª aula - Teste
PPTX
Criando app mobile com Google Android - Software Freedom Day 2015
PPT
Pie.157055.ioc grupo 3 - android e i os
ODP
Aula teste ETEC - Analise de Programacao
PDF
02 programmation mobile - android - (activity, view, fragment)
PPTX
Sistema Operacional Android
PDF
Programando Android - Aula 5
ODP
Criando um Aplicativo Android para Consumir uma API RESTFul Desenvolvida em A...
PDF
Iniciando no mundo mobile - Programando para android
PDF
Android - Conceito e Arquitetura
PPT
Android | Android Activity Launch Modes and Tasks | Gonçalo Silva
PDF
Desenvolvimento Android: Faça da maneira certa
PDF
Android Aula 1
Meu primeiro app nativo para Android - Minicurso SCTI UENF
Android case: 5 perguntas + 1 sobre desenvolvimento para Android
Desenvolvimento para Android
1ª aula - Teste
Criando app mobile com Google Android - Software Freedom Day 2015
Pie.157055.ioc grupo 3 - android e i os
Aula teste ETEC - Analise de Programacao
02 programmation mobile - android - (activity, view, fragment)
Sistema Operacional Android
Programando Android - Aula 5
Criando um Aplicativo Android para Consumir uma API RESTFul Desenvolvida em A...
Iniciando no mundo mobile - Programando para android
Android - Conceito e Arquitetura
Android | Android Activity Launch Modes and Tasks | Gonçalo Silva
Desenvolvimento Android: Faça da maneira certa
Android Aula 1
Anúncio

Semelhante a Desenvolvimento android (20)

PPTX
Android Developing
PPTX
Introdução ao desenvolvimento mobile Ecossistema Android
PPTX
Configurando o ambiente para desenvolvimento Android
PPTX
Aula01 - introdução, Activity
PPT
Desenvolvendo Soluções com Android
PPTX
Introdução ao Android
PDF
Introdução ao android - siecomp 2015.1
PDF
Android Aula 2
PPTX
Introdução à plataforma Android
PDF
Introdução a Plataforma Android
PPT
Palestra Android
PDF
Minicurso de Android
PPTX
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
PPT
Android Palestra
PDF
Programe seu androide
PDF
Programe seu androide
PDF
Programe seu androide
PDF
2017 08-11 - Androidos V - Minicurso - Introdução ao android
PPTX
PDF
Primeiros passos para o novo desenvolvedor android
Android Developing
Introdução ao desenvolvimento mobile Ecossistema Android
Configurando o ambiente para desenvolvimento Android
Aula01 - introdução, Activity
Desenvolvendo Soluções com Android
Introdução ao Android
Introdução ao android - siecomp 2015.1
Android Aula 2
Introdução à plataforma Android
Introdução a Plataforma Android
Palestra Android
Minicurso de Android
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Android Palestra
Programe seu androide
Programe seu androide
Programe seu androide
2017 08-11 - Androidos V - Minicurso - Introdução ao android
Primeiros passos para o novo desenvolvedor android

Último (20)

PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PPTX
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Émile Durkheim slide elaborado muito bom
COBITxITIL-Entenda as diferença em uso governança TI
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
Processos na gestão de transportes, TM100 Col18
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Apple Pippin Uma breve introdução. - David Glotz
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Custos e liquidação no SAP Transportation Management, TM130 Col18
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Émile Durkheim slide elaborado muito bom

Desenvolvimento android

  • 3. Primeiros conceitos  Desafios  Ambiente de desenvolvimento  Números sobre o Android  Buscando Informação  Android Ice Cream Sandwich
  • 5. Android é uma pilha!!!
  • 6.  “Pilha de softwares para dispositivos móveis que inclui um sistema operacional, middleware e aplicações chave.”  O Android SDK provê as ferramentas e API’s necessárias para o desenvolvimento de aplicações para a plataforma Android usando a linguagem de programação Java.
  • 8. Dalvik VM Java VM Máquina virtual Java simplificada e otimizada para execução de aplicações em dispositivos com menor poder de processamento e memória.
  • 9. Não é compatível com a especificação da JVM:  Não pode rodar aplicativos Java SE nem ME  Executa arquivos no formato próprio .DEX  É Open Source: Apache License 2.0
  • 10. Cada aplicação é executada em uma instância da VM Dalvik.  Aplicações não compartilham dados (memória) nem código.  A sistema Android foi adaptado para poder gerenciar diversas instância da VM simultaneamente.
  • 11.  Existe uma API para cada versão do Android  Novas versões são compatíveis com as anteriores. Fonte: http://developer.android.com/guide/appendix/api-levels.html
  • 12.  Ao criar sua aplicação, procure compilar usando a menor versão da API possível.  Novas versões irão rodar sua aplicação sem problemas. Mas é importante que você teste a aplicação no maior número de versões possível.  E usando a menor versão possível, você aumenta o número de dispositivos que podem executar sua aplicação.
  • 13.  Aplicações Android são empacotadas no formato .APK.  O Android é um sistema Linux multiusuário, onde cada aplicação tem o seu usuário.  Permissões são definidas em todos os arquivos da aplicação, de modo que apenas o usuário da própria aplicação tenha acesso.  Cada aplicação roda em um processo, que é uma instância da Dalvik.
  • 15. Performance  Menos memória e processador, velocidade de conexão.  Usabilidade  Telas menores  Diversidade  de dispositivos  Compatibilidade  Diferentes versões da API do Android.
  • 16. Escolha as estruturas de dados corretas dependendo do seu problema.
  • 17. Assegure-se de utilizar algoritmos eficientes e de rápida execução.
  • 18. Escolher as estruturas de dados corretas e os algoritmos mais eficientes são a melhor forma de otimizar o seu programa.
  • 19.  Prefira os tipos primitivos int aos objetos Integer.  Prefira dois arrays de objetos ao invés de um único array de um objeto novo.  Pessoa[] destinatarios  String[] nomes  String[] emails  Evite criar objetos que você não precisa, ou objetos de vida curta. Quanto menos objetos você criar, melhor.
  • 20. Não use getters e setter para acesso a campos dentro da própria classe. Acesse-os diretamente.  Em comparação ao acesso por getter, o acesso direto é 3 x mais rápido em VM’s sem o JIT e 7 x mais rápido em VM’s com JIT.  Sempre que possível use constantes  static final int intVal = 42; static final String strVal = "Hello, world!";
  • 21.  Use a seguinte sintaxe do for for (Foo a : mArray) { // Código }
  • 22. Threads  Estruturas de Dados  API de coleções  Webservices
  • 23. ANR - Application Not Responding
  • 24. Tamanho da tela (em polegadas)  Densidade da tela (resolução), medida em pixels por polegada.
  • 26. JDK  JAVA_HOME nas variáveis de ambiente  Adicionar a pasta JAVA_HOME/bin no PATH  Eclipse  Android SDK  Apenas descompactar em um diretório  Plugin ADT para Eclipse  Configurar o caminho do Android SDK (pasta extraída anteriormente)
  • 27. Eclipse  Editor visual no estilo arrastar e soltar para construção das telas.  Execução em modo debug  Editor visual para o arquivo Manifest  Compilação, empacotamento e assinatura de sua aplicação em um arquivo .APK
  • 30. Emulador
  • 31. Android SDK and AVD Manager
  • 32.  Contém uma séria de informações sobre sua aplicação.  Nele são feitas definições como:  Permissões que sua aplicação precisa (acesso a internet, a lista de contatos, etc)  Hardware e software necessários (câmera, bluetooth, etc)  Versão mínima do Android necessária para rodar a aplicação  Outras bibliotecas que não as nativas da plataforma.  Versão de sua aplicação
  • 33. O Android Market irá ler todas as informações do arquivo Manifest de modo a apresentar para o usuário apenas as aplicações que o seu dispositivo pode suportar.
  • 34. Inscrição:  https://market.android.com/publish/signup  Taxa de US$25,00 com cartão de crédito via Google Checkout.  Taxa de 30% do valor de cada cópia vendida do Android Market  Esse dinheiro vai para as entidades de pagamento e outros, não fica para o Google.
  • 35.  A plataforma fornece uma ferramenta para aplicar licenciamento em aplicações.  Disponível apenas para aplicações pagas.  Não tem custo nenhum.  Exige API nível 3 no mínimo.
  • 36.  A partir da versão 8 da API, você pode escolher que sua aplicação seja instalada no SD Card ao invés da memória interna.  É uma decisão que o desenvolvedor deve fazer. Para permitir isso, defina o parâmetro “android:installLocation” no seu arquivo de manifesto.  A qualquer momento o usuário pode mover a aplicação para o SD Card ou para a memória interna.
  • 37.  O arquivo .APK fica no SD Card, mas todos os dados do usuário, bancos de dados e arquivos .DEX otimizados ficam dentro da memória interna.  Ao ser instalada no SD Card a aplicação é criptografada usando uma chave aleatória. Apenas o dispositivo aonde a aplicação foi instalada pode descriptografar e acessar a aplicação.
  • 38. Quando o cartão de memória for desmontado, ou o dispositivo conectado ao PC para armazenamento de arquivos, todas as aplicações instaladas no SD Card são automaticamente finalizadas.
  • 42. Março de 2011 Fonte: http://blog.nielsen.com/nielsenwire/?p=27418
  • 43. Agosto de 2011 Fonte: http://goo.gl/k4nm0
  • 45. Dispositivos que acessaram o Android Market num período de 14 dias terminando em 3 de Outubro de 2011. Fonte: http://developer.android.com/resources/dashboard/platform-versions.html
  • 46. Dispositivos que acessaram o Android Market num período de 7 dias terminando em 3 de Outubro de 2011. Fonte: http://developer.android.com/resources/dashboard/screens.html
  • 48.  O melhor local para buscar informações é a página do desenvolvedor:  http://developer.android.com/index.html
  • 49. Lá você entra:  SDK’s  Documentação  Referência da API  Download de exemplos
  • 52.  Lançado dia 19/10/2011  Unificação do Android para tablets e smartphones.  Aparelhos lançados em 2011 com Android 2.3 de fábrica serão atualizados para o ICS.
  • 53. Unificação do Android para tablets e smartphones.