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 Sist...
Agenda•   Quem é a ilegra?•   Android e smartphones•   Fragmentação de versões Android•   Ambiente de desenvolvimento•   T...
Android  O que é:– Sistema operacional móvel baseado em Linux– Adquirido pela Google em 2005 e lançado em 2008– Desenvolvi...
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 ...
Android          Perspectivas para desenvolvedores      - O Market vende mais do que a App Store      (maior loja de aplic...
Android                         Tendências encontradas   – Vendas de aplicativos na China cresce exponencialmente,     ten...
Android
Android                        Smartphones– Marcos:     Nov 2009 – Lançamento do Motorola Milestone     Jun 2010 – Lançame...
Android                   Smartphones de baixo custo- Samsung Galaxy 5 – 2.1 (R$ 300,00)- Sony Ericsson Xperia X10 – 2.1 (...
AndroidProblemas do Market- Aplicativos maliciosos – roubo deinformações-Em março de 2011 foram descobertos eremovidos 52 ...
Fragmentação de versões do AndroidFragmentação de versões operando em smartphones (01/2012)
Fragmentação de versões do Android         Tentativa de diminuição da fragmentaçãoHá a expectativa de diminuição da fragme...
Ambiente de desenvolvimento         Baixando o SDK
Ambiente de desenvolvimentoEscolhendo os SDK que serão instalados
Ambiente de desenvolvimento             Montando o ambiente de desenvolvimento1 – Baixar o eclipse em eclipse.org/download...
Ambiente de desenvolvimento
Ambiente de desenvolvimento
Ambiente de desenvolvimento      Montando o ambiente de desenvolvimento – alternativa1 – Baixar o plugin diretamente no si...
Ambiente de desenvolvimento                      Motodev studio –Gratuito –Não há restrição a aparelhos da Motorola –Princ...
Ambiente de desenvolvimento      Construtor de interface
Testes de AplicativosCriando dispositivos de teste
Testes de Aplicativos       Emulador
Testes de Aplicativos              ADB – Android Debug Bridge- O que é- Localizado em <sdk-path>/platform-tools/- Pode rec...
Publicando AplicativosCriando conta no Android Market
Publicando Aplicativos- Inserindo dadoscomerciais na conta doGoogle Checkout parapoder vender aplicativos- É permitido o c...
Publicando AplicativosAtrelando conta do AdSense ao Google Checkout
Publicando Aplicativos       Manage board
Publicando Aplicativos  Passos para publicar um aplicativo:1. Enviando o .apk2. Enviar recursos para divulgação3. Descreve...
Publicando AplicativosEnviar recursos para divulgação
Publicando AplicativosDescrever detalhes sobre a aplicação
Publicando AplicativosDescrever 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 d...
Desenvolvimento     Manifest
Desenvolvimento                     Debugging- ADB – Android Debug Bridge- AVD – Android Virtual Device- Logcat- Captura d...
Desenvolvimento                             Activities- Uma Activity é um componente da aplicação (uma classe), que prover...
Desenvolvimento- Definindo a tela que será exibida:setContentView( StringcodigoArquivoXML)- Iniciando sub atividade:startA...
Desenvolvimento                       Services- São atividades que operam em background por um longo tempoe não provêem in...
Desenvolvimento
Desenvolvimento UI – User Interface     ViewGroup, View      addView(View)        Listeners
Desenvolvimento                   Data Storage- Shared Preferences – dados de usuário / internos do smartphone- Internal s...
Desenvolvimento                            Security- Nenhuma aplicação tem permissão para interferir em outros processos,o...
Desenvolvimento                          Widgets- Manifest- AppWidgetProviderInfo- onUpdate() onDeleted(), onEnabled(), on...
Perguntas?
Obrigado! Guilherme Sesterheimguilherme.sesterheim@ilegra.com           @guisester
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
Upcoming SlideShare
Loading in …5
×

Introdução à programação em Android Senac 15/05/2012

3,645 views
3,550 views

Published on

Apresentação montada para

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,645
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
182
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introdução à programação em Android Senac 15/05/2012

  1. 1. Introdução à programação em Android Guilherme Callegaro Sesterheim
  2. 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. 3. Agenda• Quem é a ilegra?• Android e smartphones• Fragmentação de versões Android• Ambiente de desenvolvimento• Testes de aplicativos• Publicando aplicativos• Desenvolvimento
  4. 4. 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++
  5. 5. Android Curiosidade O Android em 2006– Sem touch-screen– Com teclado físico
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. Android
  10. 10. 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
  11. 11. Android Smartphones de baixo custo- Samsung Galaxy 5 – 2.1 (R$ 300,00)- Sony Ericsson Xperia X10 – 2.1 (R$ 300,00)
  12. 12. AndroidProblemas do Market- Aplicativos maliciosos – roubo deinformações-Em março de 2011 foram descobertos eremovidos 52 aplicativos virais doAndroid Market. Eles representavamdiversas ameaças aos usuários,responsáveis pelos mais de 50 mildownloads (calculadora, xadrez, entreoutros)- Iniciada a utilização do Google remote kill,implementado desde 2008
  13. 13. Fragmentação de versões do AndroidFragmentação de versões operando em smartphones (01/2012)
  14. 14. Fragmentação de versões do Android Tentativa de diminuição da fragmentaçãoHá a expectativa de diminuição da fragmentação de Androidsoperando em smartphones e tablets através da liberação do 4.0 – IceCream Sandwich, que será compatível com ambas as plataformasHá uma negociação entre fabricantes e Google para que todos osnovos modelos de smartphone sejam atualizados por pelo menos 18mesesUma mudança recente da Google sobre o Market, fezcom que a partir de então os aplicativos que não sãocompatíveis com o aparelho que está fazendo abusca, não sejam mostrados
  15. 15. Ambiente de desenvolvimento Baixando o SDK
  16. 16. Ambiente de desenvolvimentoEscolhendo os SDK que serão instalados
  17. 17. Ambiente de desenvolvimento Montando o ambiente de desenvolvimento1 – Baixar o eclipse em eclipse.org/downloads2 – Instalar o ADT (Android development tools) plugin
  18. 18. Ambiente de desenvolvimento
  19. 19. Ambiente de desenvolvimento
  20. 20. Ambiente de desenvolvimento Montando o ambiente de desenvolvimento – alternativa1 – Baixar o plugin diretamente no site do Android2 – Repetir o procedimento mostrado anteriormente, porém escolhendo oarquivo localmenteApós a instalação, é necessário indicar qual SDK deverá ser utilizado atravésdo menu Window > Preferences > AndroidIMPORTANTE: é necessário verificar periodicamente as atualizações, através do menuHelp > Check for Updates, ou através do site do Android
  21. 21. 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
  22. 22. Ambiente de desenvolvimento Construtor de interface
  23. 23. Testes de AplicativosCriando dispositivos de teste
  24. 24. Testes de Aplicativos Emulador
  25. 25. Testes de Aplicativos ADB – Android Debug Bridge- O que é- Localizado em <sdk-path>/platform-tools/- Pode receber instruções via linha de comando
  26. 26. Publicando AplicativosCriando conta no Android Market
  27. 27. Publicando Aplicativos- Inserindo dadoscomerciais na conta doGoogle Checkout parapoder vender aplicativos- É permitido o cadastro depessoas físicas
  28. 28. Publicando AplicativosAtrelando conta do AdSense ao Google Checkout
  29. 29. Publicando Aplicativos Manage board
  30. 30. Publicando Aplicativos Passos para publicar um aplicativo:1. Enviando o .apk2. Enviar recursos para divulgação3. Descrever detalhes sobre a aplicação4. Opções de publicação5. Informações para contato a ser divulgada aos usuários6. Autorização ao Google
  31. 31. Publicando AplicativosEnviar recursos para divulgação
  32. 32. Publicando AplicativosDescrever detalhes sobre a aplicação
  33. 33. Publicando AplicativosDescrever detalhes sobre a aplicação / Opções de publicação
  34. 34. Publicando Aplicativos– Informações para contato a ser divulgada aos usuários– Autorização ao Google
  35. 35. Desenvolvimento Fundamentals- Os aplicativos de Android são instalados através de um .apk- A partir do momento em que é instalado, cada aplicativo do Androidtem 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 determinadoatravés do manifest
  36. 36. Desenvolvimento Manifest
  37. 37. Desenvolvimento Debugging- ADB – Android Debug Bridge- AVD – Android Virtual Device- Logcat- Captura de telas-Debug.startMethodTracing(String fileName)
  38. 38. Desenvolvimento Activities- Uma Activity é um componente da aplicação (uma classe), que proverá umatela com a qual o usuário poderá interagir- Geralmente o desenho ocupa a tela inteira, mas ela pode ser diminuída paraser 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
  39. 39. Desenvolvimento- Definindo a tela que será exibida:setContentView( StringcodigoArquivoXML)- 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
  40. 40. Desenvolvimento Services- São atividades que operam em background por um longo tempoe 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()
  41. 41. Desenvolvimento
  42. 42. Desenvolvimento UI – User Interface ViewGroup, View addView(View) Listeners
  43. 43. 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
  44. 44. 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
  45. 45. Desenvolvimento Widgets- Manifest- AppWidgetProviderInfo- onUpdate() onDeleted(), onEnabled(), onDisabled(), onReceive()
  46. 46. Perguntas?
  47. 47. Obrigado! Guilherme Sesterheimguilherme.sesterheim@ilegra.com @guisester

×