Descomplicando o Android

799 visualizações

Publicada em

Quer conhecer mais sobre o Android da Goolge? Confira nesses slides:
- O que é Android?
- Quais as vantagens de desenvolver para android
- A plataforma
- A arquitetura
- O mercado
- Ambiente de desenvolvimento
- Minha Primeira App Android – Criando um exemplo
- Publicando sua aplicação
- Conceitos básicos

Publicada em: Celular
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
799
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
37
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Descomplicando o Android

  1. 1. Descomplicando o Android Como e porque desenvolver aplicativos para Android.
  2. 2. Quem sou eu? • Formado em Sistemas de Informações - (FIAP) • Pós-Graduando em Sistemas e Desenvolvimento Web • Twitter: @HeiderLopes • Blog: www.heidertreinamentos.com.br/blog • Analista Desenvolvedor
  3. 3. Agenda • Objetivos • O que é Android? • Quais as vantagens de desenvolver para android • A plataforma • A arquitetura • O mercado • Ambiente de desenvolvimento • Minha Primeira App Android – Criando um exemplo • Publicando sua aplicação • Conceitos básicos
  4. 4. O mundo Mobile • Celulares deixaram de ser simples telefones • Hardware cada vez mais poderoso • Convergência para a mobilidade • Usuários cada vez mais exigentes
  5. 5. Uma rápida pesquisa Em qual dessas situações você utiliza seu celular? Enquanto espera para ser atendido No carro, de carona No transporte público Enquanto espera o início de um evento (cinema, teatro, etc) Enquanto trabalha No banheiro Enquanto assisto TV Enquanto converso com os amigos
  6. 6. Um resultado da pesquisa
  7. 7. Quais são as oportunidades ???
  8. 8. Oportunidades M-Payment M-Learning M-Advertisement M-HealthNFC
  9. 9. Plataformas Móveis • Symbian • Java ME • IOS • Windows Mobile • Android • Entre outras
  10. 10. O que é Android? • Sistema Operacional para dispositivos Mobile • Baseado no Linux • Fácil integração com aplicações nativas e serviços do Google • Poderoso ambiente de desenvolvimento • Google Play (Android Market)
  11. 11. Breve Histórico • Android Inc fundada em 2003, em Palo Alto • Aquisição da Android Inc pela Google em 205 • Android Beta SDK lançado em 2007 • Iphone anunciado no WWDC 2007 • Primeiro SDK para Iphone em Março de 2008 • Nokia adquire a Symbian Foundation em 2008
  12. 12. A história continua • Primeiro device android em 2008 (HTC G1) • Android se torna a plataforma mais vendida em 2011 • + de 1 milhão de aplicativos/jogos disponíveis no Google Play • 1,5 milhões de ativações de aparelhos por dia
  13. 13. Mas por que Android?
  14. 14. Dispositivo para todos os bolsos
  15. 15. Android: além de tablets e smartphones
  16. 16. Programação em Multiplataforma
  17. 17. Linguagens de Desenvolvimento
  18. 18. Ainda não me convenceu...
  19. 19. Vamos ver o Market Share? • Líder indiscutível de mercado • Mundial: 80% • China: 90% em 2012 • Europa: 70% • Brasil: 90%
  20. 20. Market Share http://www.blackberrycool.com/2010/02/23/gartner-release-breakdown-of-m obile-os-market-share/
  21. 21. Market Share http://news.cnet.com/8301-13579_3-20006889-37.html
  22. 22. Market Share http://bits.rahilparikh.me/2012/08/18/android-forensics/
  23. 23. A Plataforma • Navegador Web Integrado • SQLite para armazenamento de dados • Áudio (MP3, AAC, AMR) • Vídeo (MPEG4, H.264)
  24. 24. Mais sobre a Plataforma • Imagens (JPG, PNG, GIF) • Flash • Bluetooth, EDGE, 3G, Wifi (dependente do hardware) • Câmera, bússola, acelerômetro (dependente do hardware) • Sensores
  25. 25. A Arquitetura
  26. 26. Camada de Aplicação • Onde se localizam todos os aplicativos que são executados sobre o sistema operacional, tais como, cliente de SMS e MMS, cliente de e-mail, navegador, mapas, calculadora entre outros. • Aplicações escritas em JAVA
  27. 27. Framework de Aplicação • Componentes que permitirão com que novas estruturas sejam utilizadas para futuras aplicações • Um rico e extensível conjunto de componentes gráficos que pode ser utilizado para construir uma aplicação bem como: listas, grids, caixas de textos, botões, etc • Provedores de conteúdos que habilitam as aplicações acessar dados de outras aplicações
  28. 28. Camada de Bibliotecas • Camada que possui as bibliotecas C/C++ que são utilizadas pelo sistema, e também as bibliotecas de multimidia, visualização de camadas 2D e 3D, funções para navegadores web, funções de aceleradores de hardware, renderização 3D, funções para gráficos, fontes bitmaps, e funções de acesso a banco de dados
  29. 29. Camada de Runtime • Camada que se instância a máquina Virtual Dalvik (criada para cada aplicação Android). Essa máquina virtual é a melhor referente a desempenho, maior integração com a nova geração de hardware e projetada como executar vários processos paralelamente. • Máquina virtual android / Toda aplicação roda dentro do seu próprio processo • Executa arquivos .dex, bytecodes de java otimizados para o Android
  30. 30. Camada de Kernel de Linux • Núcleo derivado do Kernel do Linux • Heranças do Linux – Controle de processos – Gerenciamento de memórias – Threads – Protocolos de rede – Modelo de drivers – Segurança de arquivos
  31. 31. Versões do Android Android 1.5 Cupcake Android 1.6 Donut Android 2.0/2.1 Eclair Android 2.2 Froyo Android 2.3 GingerBread Android 3.0 Honeycomb Android 4.0 Ice Cream Sandwich Android 4.4 Kit Kat Android 4.1 JellyBeans Android 1.0
  32. 32. O que mudou? • 1.1 – Letreiros de layout – Suporte para salvar anexos • Cupcake (1.5) – Primeiro nome baseado em sobremesa Android 1.5 Cupcake Android 1.1
  33. 33. O que mudou? • Donut (1.6) – Text-to-speech – Busca por voz – CDMA • Eclair (2.0) – Bluetooth – Múltiplas contas de e-mail – HTML5
  34. 34. O que mudou? • Froyo (2.2) – Wi-fi hotspot – Flash • Gingerbread (2.3) – Api para NFC – Android market on-line Android 1.6 Donut Android 2.0/2.1 Eclair
  35. 35. O que mudou? • HoneyComb (3.0) – Versão otimizada para telas maiores – Tablets / Google TV • Ice Scream Sandwich (4.0) – Unificação Android 3.0 Honeycomb Android 4.0 Ice Cream Sandwich
  36. 36. O que mudou? • JellyBeans (4.1, 4.2 e 4.3) – Múltiplos usuários – Widget na lock screen • Kit Kat (4.4) – Otimização de uso de memória – “OK”Google (Comando de voz) – Aplicativos em tela cheia – Solução nativa para impressão Android 4.4 Kit Kat Android 4.1 JellyBeans
  37. 37. Ano de Lançamento
  38. 38. Market Share Version Codename API Distribution 2.2 Froyo 8 1.7% 2.3.x Gingerbread 10 26.3% 3.2 Honeycomb 13 0.1% 4.0.x Ice Cream Sandwich 15 19.8% 4.1.x Jelly Bean 16 37.3% 4.2.x 17 12.5% 4.3 18 2.3% http://developer.android.com/about/dashboards/index.html
  39. 39. Atualização de versão • Liberada normalmente pela fabricante do aparelho • É gratuita • O processo de upgrade de SO é fácil • Custom Roms – CyanogenMod
  40. 40. Ambiente de Desenvolvimento • JAVA SE Development Kit (JDK) • Android SDK • IDE – Eclipse • Android Development Tools (ADT) – Netbeans • Nbandroid – Android Studio • Opcional – Native Development Kit (NDK)
  41. 41. Ambiente de Desenvolvimento • IDE • Emulador • Ferramentas para Debug e Análise de Código • Analisador de Memória e Performance • Ferramenta para análise de hierarquia de Layouts
  42. 42. O ADT Bundle • Download disponível em: http:// developer.android.com/sdk/index.html • Baixa um zip contendo: – Android SDK – Eclipse
  43. 43. Android SDK Manager
  44. 44. AVD Manager
  45. 45. Estrutura de um Projeto Android • Src: – contém o código fonte da aplicação • Gen: – Contém a classe R gerada automaticamente permitindo a aplicação acessar recursos (imagens e arquivos) utilizando constantes dessa classe • Assets – Contém arquivos opcionais ao projeto (exemplo fontes customizadas, músicas) • Res – Contém os recursos da aplicação (layouts, imagens, arquivos de internacionalização) • Bin – Contém o aplicativo (uma vez já compilado)
  46. 46. Estrutura de um Projeto Android • Drawable – Pasta com imagens da aplicação • Layout – Os arquivos XML para construir a aplicação • Values – XML utilizado para internacionalização da aplicação, estilos e outras configurações
  47. 47. Estrutura do Projeto • Quando compilamos o projeto os resultados vão para a pasta Bin • Bin/classes: contém as classes Java compiladas • Bin/classes.dex: contém o executável criado a partir das classes Java compiladas • Bin/ suaapp.ap_: contém os recursos do seu aplicativo, como um arquivo ZIP. • Bin/suaapp.apk: é aplicação real Android
  48. 48. ós scobrirmos o
  49. 49. Vamos começar nosso primeiro programa Android!!!
  50. 50. Primeiros Conceitos
  51. 51. Activity • Representado por uma tela da aplicação • Possui interface com usuário – Views – Componentes Gráficos – Eventos – Entre outros • Atividades são armazenadas em pilhas
  52. 52. Ciclo de Vida da Aplicação • As activitys representam uma classe com elementos a serem executados assim que forem chamados • Essas activitys possuem um ciclo de vida desde sua criação até o término da aplicação
  53. 53. Android Manifest • É a base de qualquer aplicação Android • Contém as configurações necessárias para executar a aplicação – Activitys usadas – Activity Launcher – Permissões • TODA activity deve ser declarada no Manifest
  54. 54. A classe R • Criada automaticamente e nunca deve ser modificada • Define constantes para acesso aos recursos do projeto • Os nomes dos arquivos adicionados devem ser minúsculos e sem espaços, caso contrário, a classe R não será compilada corretamente
  55. 55. Acessando elementos • findViewById (R.id.nome_recurso) • Acesso através dos Ids da classe R • Usado para utilizar os recursos da aplicação
  56. 56. Services • Não possui interface com o usuário – Rodam em background • Possui ciclo de vida próprio • Usado normalmente operações em segundo plano • Outra componente do aplicativo pode iniciar o serviço e ele irá continuar sendo executado em segundo plano, mesmo se o usuário mudar para outra aplicação
  57. 57. Broadcast Receiver • Utilizado para responder eventos externos – Exemplo: atender uma ligação • As aplicações também podem iniciar broadcasts para notificar outras aplicações
  58. 58. Broadcast Receivers nativos do Android • ACTION_BATTERY_LOW: Enviado quando a bateria do dispositivo está com carga baixa; • ACTION_HEADSET_PLUG: Enviado quando um fone de ouvido é conectado ou desconectado do dispositivo. • ACTION_SCREEN_ON: Enviado quando a tela do dispositivo é ligada. • NEW_OUTGOING_CALL: Enviado quando uma nova chamada telefônica é efetuada. • BOOT_COMPLETED: Enviado quando o sistema completa o boot inicial. • ACTION_POWER_CONNECTED: Enviado quando o dispositivo é conectado à energia. • ACTION_POWER_DISCONNECTED: Enviado quando o dispositivo é desconectado da energia. • CAMERA_BUTTON: Enviado quando o botão da câmera é disparado.
  59. 59. Content Provider • Usado para compartilhar dados entre aplicações • Armazena e recupera dados em repositórios • A plataforma oferece Content Providers para: – Áudio – Vídeo – Imagens
  60. 60. LogCat • Fazem parte do pacote android.util.Log • Podemos filtrar os Logs através do DDMS Nível Sigla Cor Debug D Azul Verbose V Preto Info I Verde Warn W Laranja Erro E Vermelho
  61. 61. Acabei meu aplicativo e agora? Como publico no Google Play?
  62. 62. Publicando no Google Play • Registro no google Play $25 • Assinar o aplicativo com uma chave privada • Realizar upload do apk e de imagens do aplicativo
  63. 63. Criando sua KeyStore • File/Export/Export Android Application • Nome do Projeto • Create New KeyStore • Preenche os dados referente a chave
  64. 64. Dicas • Teste bem a aplicação – De preferência em mais de um aparelho • Confira se o versionCode e versionName estão configurados • Retire arquivos não utilizados • Internacionalize sua aplicação – values – values-pt-BR – values-en-US
  65. 65. O que acontece depois de enviado? • No máximo em 3 horas seu aplicativo será liberado • Possível visualizar estatísticas: – País – Aparelho – Idioma – Versão do Android – Operadora e versão do aplicativo
  66. 66. Exemplo de Gráfico
  67. 67. Atualizando seu aplicativo • Mude o VersionCode no Manifest.xml • Assine a aplicação com seu keystore – NUNCA PERCA SEU KEYSTORE • Envie o aplicativo • Marque como versão atual • Salve
  68. 68. Atualização
  69. 69. O lado escuro do Android
  70. 70. Algumas desvantagens • Fragmentação • Maior concorrência
  71. 71. Nunca esqueçam!!! • http://developer.android.com • http://www.heidertreinamentos.com.br/blog
  72. 72. Referências • LECHETA, Ricardo R. Google Android: aprenda a criar aplicações para dispositivos móveis com Android SDK • http://www.android.com.br • http://www.globalcode.com.br/gratuitos/minicursos/minicurso- introducao-ao-android

×