Android: mercado mobile e visão geral da plataforma

1,907 views

Published on

Aborda assuntos como o mercado mobile e os principais componentes do framework:
- Views
- Content Providers
- Resource Manager
- Notification Manager
- Activity Manager
entre outros relacionados a Android e mobile.

A palestra foi patrocinada pela Kees Informática.

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
1,907
On SlideShare
0
From Embeds
0
Number of Embeds
137
Actions
Shares
0
Downloads
51
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • No Google I/O do ano passado, Vic Gundotra disse que questionou o Android quando chegou no Google.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • O consumidor escolhe seu aparelho preferido na sua operadora preferida\n
  • Nessa mesma ocasião, Andy Rubin disse que se o Android não existir...\n\n... dos consumidores\n
  • \n
  • E o Android conseguiu impedir que isso acontecesse.\nHoje, o Android está em...\n\n
  • \n
  • Nos EUA, nos 6 meses que antecederam Abril/2011\n
  • \n
  • \n
  • Apple’s earnings call\ndesespero\n
  • Apple’s earnings call\ndesespero\n
  • 2.2: JIT, Push (explicar), salvar aplicativos no cartão de memória\n2.3: Concurrent Garbage Collection\n Diversas melhorias para NDK(C/C++): acesso direto a resources, file system, etc\n\n3.0: para tablets, veremos mais a seguir\n2.3.4, 3.1: Periféricos: camera, mouse, teclado, joystick. Android Host\n Android Open Accessory: veremos mais adiante\n\nTodas as versões tiveram avanços significativos em performance: Dalvik amadurecendo.\n
  • Antes de entrar na parte técnica\nTask killer: bloqueado no 2.2\nFragmentação\n*Todos* os grandes SOs tem fragmentação.\nWindows XP foi lançado há 10 anos atrás, já foram lançadas 2 versões mais novas, e mesmo assim cada um de vocês ainda conhece alguém que usa o Windows XP.\nApesar de existir, a fragmentação não torna a vida do desenvolvedor absurdamente mais dificil, como a mídia “especializada” gosta de dizer por aí.\nQuando se começa um novo aplicativo, deve se escolher a versão mais antiga na configuração do seu projeto e aumentá-la só se for necessário. Isso garante que o maior número de usuários possível vai poder usar seu aplicativo. E mesmo que você precise de um recurso que só existe no Android 2.2, ainda assim é possível oferecer o aplicativo para versões anteriores do Android. Para isso, basta verificar em tempo de execução se o ambiente oferece a funcionalidade que você precisa e, caso não ofereça, desabilitar/esconder a funcionalidade.\n
  • \n
  • \n
  • Ter aplicativos na memória não deixa o aparelho lento e nem gasta mais bateria.\nTirar aplicativos da memória faz eles demorarem pra abrir na próxima utilização e, por causa disso, gasta mais bateria.\n
  • Na primeira utilização de um aplicativo, o SO o carrega na memória e antes, caso não tenha memória disponível, o SO finaliza o aplicativo que está mais tempo sem ser utilizado\n\nDesenv. não devem finalizar manualmente aplicativos. Nem os seus, nem os de terceiros.\nFinalizar aplicativos manualmente, além de deixar o aparelho mais lento e gastar mais bateria, pode fazer os aplicativos finalizados ter comportamento inexperado.\n
  • Views: componentes visuais. Exibem texto, imagens, listas, grids, botões, etc\nContent Providers: é o que permite que um aplicativo troque dados com outro\nResource Manager: carrega imagens, layouts, entr eoutras coisas. Veremos mais a seguir\nNotification manager: exibe alertas na barra de status\nActivity Manager: gerencia o cliclo de vida dos aplicativos\n
  • Recebem eventos, por exemplo do touchscreen e teclas físicas, como volume ou teclado\nTemas e estilos: carregam informações de estilo e se desenham de acordo com elas\nLayouts: são views especiais que calculam a posição e o tamanho das views filhas\n
  • Frame: mais simples. views são desenhadas uma sobre a outra\nLinear: posiciona as views uma em cima ou ao lado da outra\nRelative: a posição das views é relativa ao layout ou as views irmãs\nTable: posiciona as views em linhas e colunas\n\nLayoutParams: é possível influenciar no posicionamento. ex.: width, height, margin, weight, gravity\n
  • SO: dados de contatos, música, vídeos e fotos, histórido de ligações, configurações de Bluetooth, Wi-Fi, conexão de dados, etc.\n\nquery() retorna um Cursor\n
  • É inteligente: seleciona imagens, valores, layouts, cores, estilos, entre outras coisas, de acordo com o estado em que o aparelho se encontra.\nLeva em consideração coisas como o tamanho, resolução e densidade da tela, idioma, região, orientação da tela (horizontal/vertical), noite ou dia, versão do Android, entre outros...\n
  • Equivalente a um ViewController do iOS.\nConfigura os callbacks de eventos das views (onClick de botão)\n\nRecebe alguns eventos: botões físicos(voltar, menu), mudanças no aparelho(orientação da tela)\n
  • outro tipo de evento: os do ciclo de vida da Activity.\nSão chamados quando a Activity é criada, passa para primeiro plano, outra Activity é aberta na frente dela, finalizada, etc\n\n
  • Android tem um modelo rígido de segurança.\n\nPara ter acesso a dados sensíveis, sensores e outros, o aplicativo deve especificar no seu manifesto o que irá acessar. Caso não o faça, terá acesso negado durante sua execução\n\nLista de contatos, e-mails, outras contas, cadastro de pontos de acesso, etc\n
  • \n
  • \n
  • compatibility package\n
  • \n
  • versões atuais do Android\nArduino: muita coisa pronta para reutilizar\nEquivalente ao Made For iPod (MFi) da Apple\nNão precisa de aprovação do Google, não precisa pagar pro Google\n\ncomunicação com dispositivos acoplados, como instrumentos musicais, equipamento de ginástica, via USB. O acessório é o Host\n
  • Luzes, despertadores, termostatos, lavadoras de louça, etc\n
  • - Integra a televisão com a nuvem\n- Serviços de conteúdo sob demanda, como Netflix, Youtube, recém anunciado aluguel de filmes no Android Market\n- Traz pra TV os recursos do Android, como busca por voz\n\n- Central multimídia (PS3, XBOX 360, Windows Media Center)\n
  • Uma das coisas que mais chamam minha atenção é o potencial dessa combinação.\n\nGoogle TV tem potencial pra bater de frente com \n
  • \n
  • Hoje: 2.3 e 3.1\ne ferramentas para que os desenvolvedores criem aplicativos que rodem muito bem em todos eles\n
  • Trará para o smartphone\n- Novo tema holográfico\n- Nova tela inicial\n- Widgets melhores\n
  • Diminuir o esforço necessário para que os desenvolvedores adaptem seus aplicativos para todos os tipos de dispositivos.\n\nNovas APIs, principalmente de interface. Componentes vão ser mais inteligentes, como a ActionBar(3.0), e vão se adaptar sozinhos para o espaço disponível.\n
  • - Reconhece a face, posição dos olhos, nariz, boca, etc\n- roda na GPU para maior performance (500 quadros/seg)\n
  • \n
  • \n
  • \n
  • Android: mercado mobile e visão geral da plataforma

    1. 1. ANDROIDMercado mobile e visão geral da plataforma
    2. 2. JONAS ALVES Mobile Tech Lead Android, iOS, Ruby na Gonow @jonas_alves http://github.com/jonasfajonas.alves@gonow.com.br jonasfa@gmail.com
    3. 3. DESENVOLVI
    4. 4. VEREMOS• História• Mercado mobile• Características da plataforma• Novidades• Futuro
    5. 5. HISTÓRIA
    6. 6. http://www.youtube.com/watch?v=89xc_1Vv69kVic Gundotra Senior VP MAIS UM SO MOBILE!?
    7. 7. Andy Rubin Senior VPUM SO ABERTO
    8. 8. ABERTO PARA A INOVAÇÃO
    9. 9. ABERTO PARA A INOVAÇÃO Com teclado
    10. 10. ABERTO PARA A INOVAÇÃO Sem teclado
    11. 11. ABERTO PARA A INOVAÇÃO Tela grande
    12. 12. ABERTO PARA A INOVAÇÃO Tela pequena
    13. 13. ABERTO PARA A INOVAÇÃO Interface exclusiva
    14. 14. ABERTO PARA A INOVAÇÃO iDEN (Push to Talk)
    15. 15. ABERTO PARA A INOVAÇÃO Filma em 3D
    16. 16. ABERTO PARA A INOVAÇÃO Leitor de livros
    17. 17. ABERTO PARA A INOVAÇÃO HSDPA
    18. 18. ABERTO PARA A INOVAÇÃO Long Term Evolution (LTE)
    19. 19. ABERTO PARA A INOVAÇÃO WiMAX
    20. 20. ABERTO PARA A INOVAÇÃO Tablet
    21. 21. ABERTO PARA A INOVAÇÃO Conversível?
    22. 22. ABERTO PARA A INOVAÇÃO Tela curva
    23. 23. ABERTO PARA A INOVAÇÃO
    24. 24. O CONSUMIDOR ESCOLHE http://www.flickr.com/photos/tfrancis/2558039735/
    25. 25. “SEM O ANDROID•1 homem de•1 empresa com•1 aparelho em•1 operadora (até então, nos EUA) seria a única opção” - Andy Rubin
    26. 26. MERCADO MOBILE
    27. 27. COM O ANDROID 2011 2010 • 310 modelos • 60 modelos • 36 fabricantes • 21 fabricantes • 215 operadoras • 59 operadoras • 112 países • 48 paíseshttp://googleblog.blogspot.com/2011/05/android-momentum-mobile-and-more-at.html
    28. 28. ATIVAÇÕES (NOVOS APARELHOS USADOS PELA 1A VEZ) 2011 2010 • 500.000 / dia • 100.000 / dia +100.000.000 dispositivos no mundo atualmentehttp://googleblog.blogspot.com/2011/05/android-momentum-mobile-and-more-at.html
    29. 29. ATIVAÇÕES (NOVOS APARELHOS USADOS PELA 1A VEZ)Google’s Android Runs 50% of New Smartphones, Nielsen Sayshttp://www.businessweek.com/news/2011-04-26/google-s-android-runs-50-of-new-smartphones-nielsen-says.html
    30. 30. ANDROID MARKET Mai / 2011 Ago / 2010 • 200.000 aplicativos • 80.000 aplicativoshttp://googleblog.blogspot.com/2011/05/android-momentum-mobile-and-more-at.html
    31. 31. MERCADO Aquecido!“Mobile App Talent Pool is Shallow” - The Wall Street Journal http://online.wsj.com/article/SB10001424052748704547604576263200170918660.html?mod=WSJ_Tech_LEFTTopNews
    32. 32. Steve Jobs: “TweetDeck reported it was adaunting challenge to contend with more than 100 different versions of Android software on 244 different handsets.”
    33. 33. Steve Jobs: “TweetDeck reported it was adaunting challenge to contend with more than 100 different versions of Android software on 244 different handsets.”
    34. 34. Steve Jobs: “TweetDeck reported it was adaunting challenge to contend with more than 100 different versions of Android software on 244 different handsets.”
    35. 35. http://developer.android.com/sdk/index.html2009 Fev: Android 1.1 Abr: Android 1.5 On-screen keyboard Set: Android 1.6 +Screen sizes/dens. Out: Android 2.0 Multitouch2010 Jan: Android 2.1 Mai: Android 2.2 JIT, Push(C2DM) Dez: Android 2.3 NFC2011 Fev: Android 3.0 para tablets Mai: Android 3.1 improved USB
    36. 36. MITOS• Fragmentação http://developer.android.com/resources/articles/backward- compatibility.html• Task killer
    37. 37. CARACTERÍSTICAS DA PLATAFORMA
    38. 38. GERENCIAMENTO DE MEMÓRIA Garbage Collector
    39. 39. GERENCIAMENTO DE MEMÓRIA Memória livre é desperdício
    40. 40. GERENCIAMENTO DE MEMÓRIA•OSO fecha e restaura aplicativos automaticamente, conformenecessário•O desenvolvedor não precisa não deve finalizar manualmenteos aplicativos
    41. 41. O FRAMEWORK• Views• Content Providers• Resource Manager• Notification Manager• Activity Manager
    42. 42. VIEWS• Desenham seu conteúdo em um canvas• Eventos (touch, keys, focus)• Temas e estilos• Layouts
    43. 43. LAYOUTS• FrameLayout • RelativeLayout• LinearLayout • TableLayout LayoutParams
    44. 44. CONTENT PROVIDER• Contatos • query()• Mídia • insert()• Despertador • update()• Histórico de ligações • delete()• Live Folders• Configurações
    45. 45. RESOURCE MANAGER
    46. 46. ACTIVITY• (Geralmente) é uma tela do aplicativo• Carrega a hierarqia de views que será exibida na tela• Recebe alguns eventos
    47. 47. CICLO DEVIDA DAACTIVITY
    48. 48. SEGURANÇA• Permissões no AndroidManifest.xml• Antes de instalar, o usuário é avisado de tudo que o aplicativo terá acesso• Linux: UID
    49. 49. NOVIDADES
    50. 50. HONEYCOMB• Interface otimizada para tablets• Notificações mais ricas• Aceleração de hardware para APIs de views• Fragments (+ compatibility package)• Renderscript
    51. 51. HONEYCOMB Fragments
    52. 52. HONEYCOMB Fragments
    53. 53. ANDROID OPEN ACCESSORY Periféricos USB <=> SO e Apps Compatível com Arduino Gingerbread (2.3.4) e Honeycomb (3.1) http://www.youtube.com/watch?v=OxzucwjFEEs
    54. 54. ANDROID@HOME Rede de periféricos.Encontrar, conectar e se comunicar com outros dispositivos na sua casa, como equipamento sonoro, luzes, etc http://www.youtube.com/watch?v=OxzucwjFEEs
    55. 55. GOOGLE TV Android na sala
    56. 56. GOOGLE TVTela grande + GPU + internet + periféricos USB/Bluetooth = ?
    57. 57. GOOGLE TVTela grande + GPU + internet + periféricos USB/Bluetooth = ? JOGOS!
    58. 58. FUTURO
    59. 59. ICE CREAM SANDWICHUm só SO para todos os tipos de dispositivos http://www.youtube.com/watch?v=OxzucwjFEEs
    60. 60. ICE CREAM SANDWICH Interface refinada http://www.youtube.com/watch?v=OxzucwjFEEs
    61. 61. ICE CREAM SANDWICHFramework avançado que simplifica cross-device http://www.youtube.com/watch?v=OxzucwjFEEs
    62. 62. ICE CREAM SANDWICH API de reconhecimento de faces http://www.youtube.com/watch?v=OxzucwjFEEs
    63. 63. MATERIAL DE ESTUDO• http://developer.android.com• Google Groups • android-developers (oficial) • androidbrasil • androidbrasil-dev• http://stackoverflow.com/questions/tagged/android
    64. 64. PERGUNTAS?
    65. 65. OBRIGADO!

    ×