SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
Diego Keller
keller.diego@gmail.com
@diegokeller
   Primeiros conceitos
   Desafios
   Ambiente de desenvolvimento
   Números sobre o Android
   Buscando Informação
   Android Ice Cream Sandwich
   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.
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.
   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.
   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
   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.
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
 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
 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

Contenu connexe

Tendances

Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
Jorge Cardoso
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Tchelinux
 

Tendances (20)

Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
Android Aprendiz
Android AprendizAndroid Aprendiz
Android Aprendiz
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para Android
 
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...
 
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
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Android
AndroidAndroid
Android
 
Empreendedori$mo com Android
Empreendedori$mo com AndroidEmpreendedori$mo com Android
Empreendedori$mo com Android
 
PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
Tutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKTutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDK
 
Plataforma Android
Plataforma AndroidPlataforma Android
Plataforma Android
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao android
 

En vedette

02 programmation mobile - android - (activity, view, fragment)
02 programmation mobile - android - (activity, view, fragment)02 programmation mobile - android - (activity, view, fragment)
02 programmation mobile - android - (activity, view, fragment)
TECOS
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
Lucas Damasceno
 

En vedette (16)

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

Similaire à Desenvolvimento android

Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
Natanael Fonseca
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
Renato
 

Similaire à Desenvolvimento android (20)

Android Developing
Android DevelopingAndroid Developing
Android Developing
 
Configurando o ambiente para desenvolvimento Android
Configurando o ambiente para desenvolvimento AndroidConfigurando o ambiente para desenvolvimento Android
Configurando o ambiente para desenvolvimento Android
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, Activity
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Android
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
Palestra Android
Palestra AndroidPalestra Android
Palestra Android
 
Minicurso de Android
Minicurso de AndroidMinicurso de Android
Minicurso de Android
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
 
Programe seu androide
Programe seu androidePrograme seu androide
Programe seu androide
 
Programe seu androide
Programe seu androidePrograme seu androide
Programe seu androide
 
Programe seu androide
Programe seu androidePrograme seu androide
Programe seu androide
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Android
AndroidAndroid
Android
 
Primeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidPrimeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor android
 
Android
AndroidAndroid
Android
 

Desenvolvimento android

  • 2.
  • 3. Primeiros conceitos  Desafios  Ambiente de desenvolvimento  Números sobre o Android  Buscando Informação  Android Ice Cream Sandwich
  • 4.
  • 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.
  • 7.
  • 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.
  • 14.
  • 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.
  • 25.
  • 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
  • 28.
  • 29.
  • 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.
  • 39.
  • 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
  • 47.
  • 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
  • 50.
  • 51.
  • 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.