Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Oficina de Android

Oficina de Android

Apresentação utilizada no curso introdutório de Android realizado na Semana de Ciências Exatas e Tecnologia da PUC-SP nos dias 04 e 05 de novembro de 2013

Avatar for Diego Martins de Pinho

Diego Martins de Pinho

November 04, 2013
Tweet

More Decks by Diego Martins de Pinho

Other Decks in Technology

Transcript

  1. Apresentação • Desenvolvedores Java • Empresa Touch Tecnologia (Touch Health)

    • Último semestre do curso de Ciência da Computação na PUC-SP • Contato: – [email protected] | fb.com/diego.pinho.31 – [email protected] | fb.com/luizrmiranda7
  2. Agenda • Introdução ao Android – Conhecendo um pouco da

    sua história • Conceitos básicos do Android – A arquitetura do Android – Os elementos essenciais • Configuração do ambiente • Desenvolvendo a minha primeira aplicação – Hello World – Atividade 01 - LogCat e Ciclo de Vida – Atividade 02 – Telas – Atividade 03 - Telas e Intent
  3. História do Android • Desenvolvida pela Android Inc. (comprada pela

    Google) • Faz parte da Open Handset Alliance* • O primeiro aparelho comercial com Android foi o HTC Dream ou G1. • Em 2007, Android Beta SDK é liberado. • Hoje, o Android é o sistema mais utilizado em smartphones *A OHA é um conjunto de várias empresas, que têm como objetivo desenvolver padrões abertos para dispositivos móveis HTC Dream
  4. Mercado Android • O Android conquistou 79.3% de participação no

    segmento de smartphones durante o segundo trimestre deste ano (187,4 milhões de unidades), aponta a consultoria IDC. No mesmo período do ano passado, o índice era de 69,1%.
  5. Vantagens do Android no Mercado • As principais características que

    diferenciam o Android de outros sistemas: – Flexibilidade – Aplicações – Demanda – Segurança – Custo Você consegue citar mais alguma característica que diferencia o sistema Android?
  6. Utilizadores do Android • A AdMob* fez uma pesquisa sobre

    os utilizadores de IPhone, IPod, Android, etc., relativamente à sua interação e envolvência com as aplicações. Homens Mulheres Apenas 21% compram uma aplicação paga por mês 24% dos utilizadores tem menos de 24 anos *AdMob é uma empresa americana de publicidade móvel comprada pela Google
  7. Características do Android • Sistema baseado em Linux (kernel 2.6)

    • Código fonte é open source* • API em Java (Android SDK) • Não está preso a nenhum hardware • Grande quantidade de aplicativos (Google Play) • Diversas opções de personalização • Existe SGBD nativo, o SQlite • Possui suporte a gráficos 3D baseado na especificação 1.0 da OpenGL ES *O código fonte pode ser baixado no site source.android.com
  8. A Evolução do Android • Desde seu lançamento, em 2008,

    o Android já teve dez versões diferentes, sem contar as pequenas variações, entre as versões.
  9. Utilização das Versões Versão Codinome API Distribuição 2.2 Froyo 8

    1.7% 2.3.3 – 2.3.7 Gingerbread 10 26.3% 3.2 Honeycomb 13 0.1% 4.0.3 – 4.0.4 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% Dados retirados do site: http://developer.android.com *Dados referentes a pesquisa realizada em um período de 7 dias, terminado no dia 01/11/2013
  10. Arquitetura do Android • O Google geralmente se refere ao

    sistema operacional Android como uma pilha de softwares. Cada camada da pilha agrupa vários programas que suportam funções específicas do sistema operacional. A organização em camadas permite uma melhor organização (e uso) do sistema!
  11. Arquitetura do Android • Camada de Aplicações: 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, dentre outros • Camada de Suporte: A camada de framework nativo disponibiliza aos desenvolvedores as mesmas Applications Programming Interface (APIs) – Interface de Programação de Aplicativos utilizadas para a criação de aplicações originais do sistema operacional Android
  12. Arquitetura do Android • Camada de Bibliotecas: camada que possui

    as bibliotecas C/C++ que são utilizadas pelo sistema, e também bibliotecas de multimídia, 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 bitmap e vetorizadas e funções de acesso a banco de dados SQLite.
  13. Arquitetura do Android • Camada de Runtime: camada se instancia

    a máquina virtual Dalvik, criada para cada aplicação executada no Android. Essa maquina virtual é a melhor referente a desempenho, maior integração com a nova geração de hardware e projetada como executar vários processos paralelamente. • Camada de Kernel Linux: o núcleo do sistema operacional Android é derivado do kernel 2.6 do Linux, herdando diversas características dessa plataforma. Parte importante que se utiliza do Linux na concepção do Google Android é o de controle de processos, gerenciarem memória, threads, protocolos de rede, modelo de drives e a segurança dos arquivos.
  14. Elementos Essenciais • Os aplicativos são escritos em Java (Dalvik

    VM não é uma JVM! Os arquivos .class são convertidos por meio de um compilador java para arquivos .dex) • Não existe função main(), existem pontos de entrada • O principal componente é a Activity, que corresponde a uma tela.
  15. Elementos Essenciais - Activity • É representado por uma tela

    na aplicação. Possui interface de usuário composta por Views, componentes gráficos, eventos e etc. • Define que existe uma tela, controla seu estado e a passagem de parâmetros de uma tela para a outra, define os métodos que serão chamados quando o usuário apertar algum botão da tela, etc.
  16. Activity – Ciclo de Vida • onCreate(): Método chamado quando

    a Activity é iniciada • onStart(): Método chamado quando a Activity fica visível para o usuário. • onResume(): Método chamado quando a Activity irá interagir com o usuário. • onPause(): Método chamado quando o sistema está prestes retomar uma outra Activity. • onStop(): Método chamado quando a Activity não estiver mais sendo executada. • onDestroy(): Método chamado quando a Activity terminou. • onRestart(): Método chamado quando a Activity estiver prestes a ser chamada novamente.
  17. Elementos Essenciais - View • Uma view pode ser um

    simples componente gráfico (botão, checkbox,imagem) ou uma view complexa, que atua como um gerenciador de layout, a qual pode conter várias views- filhas e tem a função de organizar as mesmas na tela. • A view é definida por meio de um arquivo XML.
  18. Elementos Essenciais - View Cada um dos elementos é uma

    View que foi associada a esta Activity e que podem levar a outras Activity
  19. Elementos Essenciais - Intent • O Intent representa uma ação

    que a aplicação deseja executar (mensagem da aplicação para o sistema operacional). • Uma Intent pode ser usada para: – Enviar mensagem ao sistema operacional. – Abrir uma nova tela da aplicação. – Solicitar ao sistema operacional que ligue para certo número. – Solicitar ao sistema operacional que abra o navegador em certa url. – Abrir o Google Play para fazer certa instalação de app – Etc.
  20. Elementos Essenciais – Manifest.xml • O arquivo manifest.xml contém informação

    essencial sobre a aplicação para o sistema Android. O sistema necessita dessa informação para que depois consiga rodar a aplicação • O manifest.xml define, por exemplo: – O nome do pacote Java para a aplicação – Os componentes da aplicação – Activitites, serviços, listeners – Permissões que a aplicação necessita para rodar – Versão mínima da API usada na aplicação – Etc...
  21. Elementos Essenciais – Classe R • A classe R é

    uma classe auto-gerada pelo build da aplicação no Eclipse. Ela serve como vínculo entre as Activities e as Views , ou seja, para cada componente da sua view, teremos uma variável na classe R que a referencia (de um jeito estranho!). • Não precisamos nos preocupar muito com essa classe pelo fato de não termos que mexer nela, o build do Eclipse já nos poupa desse fardo.
  22. Classe R - Exemplo Não se preocupe com a classe

    R. Ela se mostrará uma grande aliada, desde que você se lembre de nunca mexer nela! Ela é gerada automaticamente!
  23. Hello World • Tarefas: – Configurar o ambiente – Criar

    novo projeto – Criar nova máquina virtual (emulador) – Executar o projeto Não esqueça de identificar e entender todos os elementos explicados dentro do código!
  24. Atividade 01 - LogCat e Ciclo de Vida • Nesta

    atividade vamos aprender um pouco mais sobre o ciclo de vida de uma Activity e como usar o sistema de logs da máquina virtual Dalvik, o LogCat • Objetivo: Criar uma aplicação que exibe uma mensagem no LogCat a cada uma das etapas do ciclo de vida da Activity • Veja arquivo: TarefaLogCat – Exemplo.txt Não esqueça de filtrar os logs para não se perder!
  25. Atividade 02 - Telas • Nesta atividade vamos aprender um

    pouco mais sobre Activity e View. • Objetivo: Criar um aplicação – que se integre com a atividade 01 – que tenha 2 telas. Ao clicar em uma delas, é redirecionada para a outra. • Veja arquivo: Telas.txt Faça as telas estender a tela de log feita na atividade anterior!
  26. Atividade 03 – Telas e Intent • Nesta atividade vamos

    aprender um pouco mais sobre como usar as Intent e Bundle para passar parâmetros entre telas • Objetivo: Iterar o código da atividade 02, de modo que seja possível passar parâmetros entre telas (a mensagem exibida na segunda tela deve ser passada por parâmetro na primeira). • Veja arquivo: Passando-parametros.txt Aqui só vamos alterar um pouco os métodos onCreate() das nossas telas! Vai ser moleza! ;D
  27. Referências 1. http://developer.android.com/index.html 2. http://web.esad.ipleiria.pt/PDMIII/3080403/index_1.html 3. http://www.jeferson.silva.nom.br/2012/06/curso-basico-de-programacao- para.html 4. http://olhardigital.uol.com.br/pro/noticia/36573/36573

    5. http://informatica.hsw.uol.com.br/google-phone2.htm 6. http://www.alexandreporfirio.com/mini-curso-android/ 7. http://www.mundointerativo.com.br/2012/07/25/a-evolucao-do-android/ Nome: Google Android: Aprenda a criar aplicações para Dispositivos móveis com o Android SDK Autor: Ricardo R. Lecheta Editora: Novatec – Segunda Edição
  28. Agenda • Desenvolvendo minha primeira aplicação – Atividade 04 –

    Listas – Atividade 05 – Menu para aplicação – Experimento conjunto: Criando telas usando Layout
  29. Atividade 04 - Listas • Nesta atividade vamos mostrar como

    o Android facilita o nosso trabalho com lista de itens. Vamos aprender a criar uma lista de itens e exibi-la na tela. • Objetivo: Ver o funcionamento da classe ListActivity • Veja arquivo: TelaLista-exemplo.txt Nesta atividade vamos somente entender como funciona essa classe! Será importante para a próxima atividade! * Não esqueça de alterar o seu Manifest.xml
  30. Atividade 05 – Menu para Aplicação • Nesta atividade vamos

    aprender como usar a ListActivity para criar um menu para a nossa aplicação. • Objetivo: Criar um menu para as telas da aplicação. Ao apertar no item que corresponde a tela, ela deverá abrir. • Utilize a classe da atividade 04 como base! Você se lembra como chamar uma tela? Não? Olhe no código das outras atividades! A chave é a Intent. * Não esqueça de alterar o seu Manifest.xml
  31. Experimento – Criando Telas • Neste experimento vamos criar uma

    tela ao gosto de cada um, utilizando o sistema de drag n’ drop que gera o xml da nossa tela. Depois, vamos aprender a como pegar os elementos da nossa tela no código da nossa Activity para interagir com eles.
  32. Pesquisa de satisfação • Esperamos que você tenha gostado e

    aprendido nessa oficina de Android! Tentamos passar os principais conceitos envolvidos na programação de qualquer aplicativo para o sistema Android. • Se possível, gostaríamos que vocês respondessem a enquete a seguir para que possamos ter um pequeno feedback de vocês em relação ao que foi passado Enquete - Oficina Android 2013
  33. Referências 1. http://developer.android.com/index.html 2. http://web.esad.ipleiria.pt/PDMIII/3080403/index_1.html 3. http://www.jeferson.silva.nom.br/2012/06/curso-basico-de-programacao- para.html 4. http://olhardigital.uol.com.br/pro/noticia/36573/36573

    5. http://informatica.hsw.uol.com.br/google-phone2.htm 6. http://www.alexandreporfirio.com/mini-curso-android/ 7. http://www.mundointerativo.com.br/2012/07/25/a-evolucao-do-android/ Nome: Google Android: Aprenda a criar aplicações para Dispositivos móveis com o Android SDK Autor: Ricardo R. Lecheta Editora: Novatec – Segunda Edição