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                  O Android em 2006– Sem touch-screen– Com teclado físico
Android
Android-   Em setembro de 2012 o Android Market possuía mais de 675 mil aplicativos    disponíveis (em maio eram 450 mil e...
Android                                 Perspectivas para desenvolvedores                             - O Market vende mai...
Android                      Tendências encontradas   – Vendas de aplicativos na China cresce exponencialmente,     tenden...
Android
Android                           Smartphones– Marcos:     Nov 2009 – Lançamento do Motorola Milestone     Jun 2010 – Lanç...
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 de    informações•   Em março de 2011 foram descobertos e    ...
Fragmentação de versões do AndroidFragmentação de versões operando em smartphones (04/2012)
Fragmentação de versões do Android         Tentativa de diminuição da fragmentaçãoAinda não é possível medir a diminuição ...
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/downloads...
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- Localizado em <sdk-path>/platform-tools/- Pode receber inst...
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
Desenvolvimento                     Data Storage- Shared Preferences – dados de usuário / internos do smartphone- Internal...
Desenvolvimento                            Security- Nenhuma aplicação tem permissão para interferir em outros processos,o...
Desenvolvimento                          Widgets- Manifest- AppWidgetProviderInfo- onUpdate() onDeleted(), onEnabled(), on...
PerguntasObrigado! Guilherme Sesterheim guilherme.sesterheim@ilegra.com            @guisesterfacebook.com/guilherme.sester...
Introdução a programação em Android
Introdução a programação em Android
Introdução a programação em Android
Introdução a programação em Android
Introdução a programação em Android
Introdução a programação em Android
Introdução a programação em Android
Introdução a programação em Android
Introdução a programação em Android
Introdução a programação em Android
Introdução a programação em Android
Introdução a programação em Android
Nächste SlideShare
Wird geladen in …5
×

Introdução a programação em Android

3.098 Aufrufe

Veröffentlicht am

ilegra nas universidades.
Palestra realizada no dia 25 de outubro de 2012, na FADERGS.
Palestrante: Guilherme Sesterheim.

  • Als Erste(r) kommentieren

Introdução a programação em Android

  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 O Android em 2006– Sem touch-screen– Com teclado físico
  6. 6. Android
  7. 7. Android- Em setembro de 2012 o Android Market possuía mais de 675 mil aplicativos disponíveis (em maio eram 450 mil e em maio de 2011 eram 200 mil). Também em setembro alcançaram a marca de 25 bilhões de downloads de aplicativos.- Todo mês, mais de 20 mil novos aplicativos são enviados.- (imagem) em Dezembro de 2011, Apple tinha quase 450 mil aplicativos, e Google quase 350 mil- A cada dia, 900 mil dispositivos Android são ativados. Espera-se que este número chegue a 1,5 milhão e mantenha-se estável a partir de então em 2014
  8. 8. Android Perspectivas para desenvolvedores - O Market vende mais do que a App Store 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 - VisibilidadeImagem desatualizada
  9. 9. 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 – Entrada do WP* Chineses não consomem aplicativos Android
  10. 10. Android
  11. 11. 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 (10/2012): Motorola - Droid Razr HD (bateria) Samsung - Galaxy SIII Samsung - Galaxy Nexus (Galaxy X no Brasil) LG Optimus G (ainda não disponível no Brasil) HTC - One X+ (ainda não disponível no Brasil)– Curiosidades: • O lucro da HTC triplicou no primeiro trimestre de 2011 em função da demanda por Androids, mas já apresenta forte queda • A Motorola estudava desenvolvimento de um mobile OS próprio • Nokia mantem prejuizos com o Windows Phone • Microsoft lucra mais com Android do que com WP
  12. 12. Android Smartphones de baixo custo- Samsung Galaxy 5 – 2.1 (R$ 300,00)- Sony Ericsson Xperia X10 – 2.1 (R$ 300,00)
  13. 13. AndroidProblemas 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 (escondidos em calculadoras, jogos de xadrez, entre outros)• Identificado um bug ao acessar páginas HTML que resetava o aparelho para o padrão de fábrica• Iniciada a utilização do Google remote kill, implementado desde 2008
  14. 14. Fragmentação de versões do AndroidFragmentação de versões operando em smartphones (04/2012)
  15. 15. Fragmentação de versões do Android Tentativa de diminuição da fragmentaçãoAinda não é possível medir a diminuição da fragmentação ocorridacom o lançamento do 4.0 – ICS, que é compatível com smarthpones etabletsFoi feito um acordo entre fabricantes e Google para que todos osnovos modelos de smartphone sejam atualizados por pelo menos 18meses, mas até o momento as fabricantes não o cumprem
  16. 16. Ambiente de desenvolvimento Baixando o SDK
  17. 17. Ambiente de desenvolvimentoEscolhendo os SDK que serão instalados
  18. 18. Ambiente de desenvolvimento Montando o ambiente de desenvolvimento1 – Baixar o eclipse em eclipse.org/downloads2 – Instalar o ADT (Android development tools) plugin
  19. 19. Ambiente de desenvolvimento
  20. 20. Ambiente de desenvolvimento
  21. 21. 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
  22. 22. 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
  23. 23. Ambiente de desenvolvimento Construtor de interface
  24. 24. Testes de AplicativosCriando dispositivos de teste
  25. 25. Testes de Aplicativos Emulador
  26. 26. Testes de Aplicativos ADB – Android Debug Bridge- Localizado em <sdk-path>/platform-tools/- Pode receber instruções via linha de comando
  27. 27. Publicando AplicativosCriando conta no Android Market
  28. 28. Publicando Aplicativos- Inserindo dadoscomerciais na conta doGoogle Checkout parapoder vender aplicativos- É permitido o cadastro depessoas físicas
  29. 29. Publicando AplicativosAtrelando conta do AdSense ao Google Checkout
  30. 30. Publicando Aplicativos Manage board
  31. 31. 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
  32. 32. Publicando AplicativosEnviar recursos para divulgação
  33. 33. Publicando AplicativosDescrever detalhes sobre a aplicação
  34. 34. Publicando AplicativosDescrever detalhes sobre a aplicação / Opções de publicação
  35. 35. Publicando Aplicativos– Informações para contato a ser divulgada aos usuários– Autorização ao Google
  36. 36. 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
  37. 37. Desenvolvimento Manifest
  38. 38. Desenvolvimento Debugging- ADB – Android Debug Bridge- AVD – Android Virtual Device- Logcat- Captura de telas- Debug.startMethodTracing(String fileName)
  39. 39. 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
  40. 40. 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
  41. 41. 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()
  42. 42. Desenvolvimento
  43. 43. Desenvolvimento UI – User Interface
  44. 44. 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
  45. 45. 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
  46. 46. Desenvolvimento Widgets- Manifest- AppWidgetProviderInfo- onUpdate() onDeleted(), onEnabled(), onDisabled(), onReceive()
  47. 47. PerguntasObrigado! Guilherme Sesterheim guilherme.sesterheim@ilegra.com @guisesterfacebook.com/guilherme.sesterheim

×