Your SlideShare is downloading. ×
0
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Desenvolvimento de aplicações para a plataforma google android

3,609

Published on

Slide da apresentação sobre desenvolvimento de aplicações para Google Android no ENUCOMP 2011. …

Slide da apresentação sobre desenvolvimento de aplicações para Google Android no ENUCOMP 2011.

Durante a apresentação foi desenvolvida uma app android fazendo comunicação com uma aplicação web, desenvolvida com VRaptor, via RestFul.

A aplicação era uma biblioteca on line, onde os alunos que tivesse a app android podia reservar e renovar os títulos do acervo.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,609
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
226
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Em alguns casos precisamos, durante o desenvolvimento, precisamos interagir com o Linux. Por exemplo, O comando adb shell irá abrir o console do linux no qual você pode entrar com outros comandos para rodar no seu dispositivo (ex: ver arquivos de sistema, atividade de processos, restrições de segurança, etc.).
  • Transcript

    • 1. 14/09/11 ENUCOMP - 2011
    • 2. Apresentação <ul><li>Cândido Sales </li></ul><ul><li>Estudante do IFPI; </li></ul><ul><li>Membro do LIMS; </li></ul><ul><li>@candidosales </li></ul><ul><li>[email_address] </li></ul><ul><li>Lucas Aquiles </li></ul><ul><li>Estudante do IFPI; </li></ul><ul><li>@lucas_aquiles </li></ul><ul><li>[email_address] </li></ul>Apresentação 14/09/11 ENUCOMP - 2011
    • 3. Introdução a Computação móvel 14/09/11 ENUCOMP - 2011
    • 4. Computação Móvel <ul><li>Realizada em dispositivos portáteis que sejam capazes de acessar uma rede sem fio. </li></ul><ul><li>Por usuários móveis (com diferentes velocidades) </li></ul><ul><li>Acesso à informação a qualquer lugar, a qualquer momento </li></ul><ul><li>Termos relacionados: </li></ul><ul><li>– Computação Pervasiva </li></ul><ul><li>– Computação Ubíqua </li></ul>14/09/11 ENUCOMP - 2011
    • 5. Dos Mainsframes à computação móvel 14/09/11 ENUCOMP - 2011
    • 6. Computação Pervasiva <ul><li>Computação Pervasiva: acesso conveniente a informações relevantes e a habilidade de realizar ações sobre as mesmas quando e onde for necessário (IBM). </li></ul><ul><li>“ Espalhada por todos os lugares” </li></ul>14/09/11 ENUCOMP - 2011
    • 7. Computação Pervasiva <ul><li>Projeto Everywhere Display (IBM) </li></ul><ul><li>– Qualquer superfície pode se tornar em uma projeção do tipo “touch screen” </li></ul>14/09/11 ENUCOMP - 2011
    • 8. Computação Ubíqua <ul><li>Computação Ubíqua: </li></ul><ul><li>– onipresença da informática no cotidiano das pessoas (Wikipédia) </li></ul><ul><li>– ... tornam-se parte da nossa vida de forma que não os percebemos mais (Mark Weiser) </li></ul><ul><li>– Baseia-se na detecção de gestos, movimentos, fala, movimentação dos olhos... </li></ul>14/09/11 ENUCOMP - 2011
    • 9. Computação Ubíqua <ul><li>Ex: Casa do “futuro”: </li></ul><ul><ul><li>• Sistema automático de iluminação </li></ul></ul><ul><ul><li>• Sistemas de extinção e prevenção de incêndios </li></ul></ul><ul><ul><li>• Monitoramento de saúde dos ocupantes da casa </li></ul></ul><ul><ul><li>• Geladeira que perceba variações de estoque e validade dos produtos </li></ul></ul><ul><ul><li>• Celular que envia dados de “coletados” a uma central médica </li></ul></ul>14/09/11 ENUCOMP - 2011
    • 10. 14/09/11 ENUCOMP - 2011 Computação Ubíqua
    • 11. Juntando tudo 14/09/11 ENUCOMP - 2011
    • 12. Princípios da Computação Móvel <ul><li>Descentralização </li></ul><ul><li>Diversificação </li></ul><ul><li>Conectividade </li></ul><ul><li>Simplicidade </li></ul>14/09/11 ENUCOMP - 2011
    • 13. Princípio da Descentralização <ul><li>Um passo além da descentralização dos sistemas distribuídos; </li></ul><ul><li>Uma grande variedade de pequenos dispositivos cooperam estabelecendo uma rede dinâmica de relacionamentos; </li></ul><ul><li>A habilidade de utilizar aplicações e informações em dispositivos móveis gera a necessidade de sincronização de atualizações de dados com sistemas servidores e outros dispositivos. </li></ul>14/09/11 ENUCOMP - 2011
    • 14. Princípio da Diversificação <ul><li>Mesma informação em diferentes “modelos” </li></ul>14/09/11 ENUCOMP - 2011
    • 15. Princípio da Conectividade <ul><li>Uma grande variedade de tecnologias deve ser atendida: </li></ul><ul><ul><li>– redes celulares, WLANs, Bluetooth, IrDA, WiMax, comunicação via satélite, etc. . . </li></ul></ul><ul><li>Não basta apenas conectar os dispositivos: </li></ul><ul><ul><li>– Troca de dados </li></ul></ul><ul><ul><li>– Descoberta de serviços </li></ul></ul><ul><ul><li>– Delegação de tarefas </li></ul></ul>14/09/11 ENUCOMP - 2011
    • 16. Princípio da Simplicidade <ul><li>Computadores de uso geral: configuração complexa </li></ul><ul><li>“ Computadores” móveis: mais específicos e mais simples em configuração </li></ul><ul><li>Simples não significa primitivo: </li></ul><ul><ul><li>– telas touch-screen, </li></ul></ul><ul><ul><li>– reconhecimento de escrita, </li></ul></ul><ul><ul><li>– reconhecimento de voz </li></ul></ul><ul><ul><li>– etc </li></ul></ul>14/09/11 ENUCOMP - 2011
    • 17. Requisitos de Aplicação <ul><li>• Infra-estrutura: </li></ul><ul><ul><li>- Cobertura(indoor, outdoor, acesso a alta/baixa velocidade) </li></ul></ul><ul><ul><li>- Qualidade da comunicação </li></ul></ul><ul><ul><li>- Confiabilidade e estabilidade da comunicação </li></ul></ul><ul><ul><li>- Segurança </li></ul></ul><ul><li>• Dispositivo Móvel </li></ul><ul><ul><li>– Forma de interação (grafico, textual, voz) </li></ul></ul><ul><ul><li>– Capacidade de identificar localização </li></ul></ul><ul><ul><li>– Capacidade de processamento e armazenamento locais </li></ul></ul><ul><li>• Serviços Middleware </li></ul><ul><ul><li>– Suporte à criptografia e autenticação </li></ul></ul><ul><ul><li>– QoS (Quality of Service) </li></ul></ul><ul><ul><li>– Descoberta e adaptação a novos serviços e recursos </li></ul></ul>14/09/11 ENUCOMP - 2011
    • 18. Aceitação das Tecnologias <ul><li>Tempo para atingir 1 milhão de usuários: </li></ul><ul><ul><li>– TV preto-banco: 20 anos </li></ul></ul><ul><ul><li>– TV em cores: 9 anos </li></ul></ul><ul><ul><li>– VCR: 8 anos </li></ul></ul><ul><ul><li>– PC: 6 anos </li></ul></ul><ul><ul><li>– Celular: 2 anos e meio </li></ul></ul><ul><li>Dos 128 milhões de PCs vendidos em 2001, 22% eram laptops e este percentual tem crescido 1 a 2 pontos por ano desde 1999; </li></ul><ul><li>Acessos à Internet por meio de dispositivos móveis ultrapassou os acessos convencionais (PC e Browser) desde meados de 2002. </li></ul>14/09/11 ENUCOMP - 2011
    • 19. Algumas aplicações de computação móvel <ul><li>Négocios diversos: m-commerce e m-business </li></ul><ul><ul><li>• Acesso à Internet por viajantes: transferência de arquivos, Web, acesso remoto…; </li></ul></ul><ul><ul><li>• Comércio: vendedores ambulantes; </li></ul></ul><ul><ul><li>• Tratamento Médico emergencial: transmissão do prontuário de/para ambulância (ou local do acidente); </li></ul></ul><ul><ul><li>• Segurança: consulta e obtenção de ficha criminal; </li></ul></ul><ul><ul><li>• Seguradoras: avaliação de sinistro; </li></ul></ul><ul><ul><li>• Serviços de resgate: coordenação das atividades de resgate; </li></ul></ul><ul><ul><li>• Aplicações Militares: coordenação de ações; </li></ul></ul><ul><ul><li>Gerenciamento de frota e Gerenciamento de bens; </li></ul></ul>14/09/11 ENUCOMP - 2011
    • 20. Serviços baseados em localização <ul><li>Serviços de emergência: usuários entram em contato com uma central (E911) e é localizado; </li></ul><ul><ul><li>• Informações de tráfego; </li></ul></ul><ul><ul><li>• Navegação: Como ir do ponto A ao ponto B? </li></ul></ul><ul><ul><li>• Gerenciamento de frota; </li></ul></ul><ul><ul><li>• Gerenciamento de bens; </li></ul></ul><ul><ul><li>• Publicidade sem fio: usuários podem subscrever serviços que os notifiquem a respeito de certos produtos quando adentrarem uma dada região; </li></ul></ul><ul><ul><li>• Serviços de busca: restaurantes, postos de gasolina, hotéis próximos; </li></ul></ul><ul><ul><li>• Localização automática de veículos; </li></ul></ul><ul><ul><li>• Mapas; </li></ul></ul><ul><ul><li>• Informações de trânsito; </li></ul></ul><ul><ul><li>• Jogos. </li></ul></ul>14/09/11 ENUCOMP - 2011
    • 21. Impacto da Computação Móvel <ul><li>Representa um novo paradigma computacional,ampliando os conceitos da computação distribuída </li></ul><ul><li>– Áreas com diversas implicações: </li></ul><ul><li>Redes de Computadores </li></ul><ul><li>Sistemas Operacionais </li></ul><ul><li>Banco de Dados </li></ul><ul><li>Ambientes de Programação </li></ul><ul><li>etc. . . </li></ul><ul><li>Mudanças sociais? </li></ul>14/09/11 ENUCOMP - 2011
    • 22. Difusão da Tecnologia celular 14/09/11 ENUCOMP - 2011
    • 23. 14/09/11 ENUCOMP - 2011 Difusão da Tecnologia celular
    • 24. Difusão da Tecnologia celular 14/09/11 ENUCOMP - 2011
    • 25. 14/09/11 ENUCOMP - 2011 Difusão da Tecnologia celular
    • 26. Difusão da Tecnologia celular 14/09/11 ENUCOMP - 2011
    • 27. 14/09/11 ENUCOMP - 2011 Difusão da Tecnologia celular
    • 28. 14/09/11 ENUCOMP - 2011 Difusão da Tecnologia celular
    • 29. 14/09/11 ENUCOMP - 2011 Difusão da Tecnologia celular
    • 30. 14/09/11 ENUCOMP - 2011 Difusão da Tecnologia celular
    • 31. 14/09/11 ENUCOMP - 2011 Difusão da Tecnologia celular
    • 32. Visão Geral III SACIC - 2011 14/09/11 ENUCOMP - 2011
    • 33. Roteiro <ul><ul><li>Mundo mobile </li></ul></ul><ul><ul><li>O que é o Android; </li></ul></ul><ul><ul><li>Open Handset Alliance; </li></ul></ul><ul><ul><li>Android e os competidores; </li></ul></ul><ul><ul><li>Por que Linux no Android?; </li></ul></ul><ul><ul><li>Dalvik Virtual Machine; </li></ul></ul><ul><ul><li>Instalando as ferramentas do Android; </li></ul></ul><ul><ul><li>Projeto “Meu HelloWord” </li></ul></ul><ul><ul><li>Componentes; </li></ul></ul>14/09/11 ENUCOMP - 2011
    • 34. Mundo mobile <ul><li>Mercado de celulares </li></ul><ul><li>Usuários querem mais recursos em seus dispositivos </li></ul><ul><li>Aplicações móveis no mundo coorporativo </li></ul><ul><li>Necessidade de plataformas mais modernas para desenvolvimento de aplicações no auxilio de seus negócios e lucros. </li></ul>14/09/11 ENUCOMP - 2011
    • 35. O que é Android? <ul><li>Sistema operacional baseado no kernel do Linux; </li></ul><ul><li>Possui uma implementação da JVM – Dalvik; </li></ul><ul><li>Código aberto e livre; </li></ul><ul><li>Plataforma flexível e poderosíssima de desenvolvimento </li></ul><ul><li>Customizavel </li></ul>14/09/11 ENUCOMP - 2011
    • 36. Android e os competidores <ul><li>IPhone </li></ul><ul><li>JME </li></ul><ul><li>Symbiam </li></ul><ul><li>BlackBerry </li></ul><ul><li>WindowsMobile </li></ul>14/09/11 ENUCOMP - 2011
    • 37. Porque Linux no android? <ul><li>Construída sob o kernel 2.6 do Linux </li></ul><ul><li>Gerencia memória e processos </li></ul><ul><li>Abstração de hardware </li></ul><ul><li>Usuários não vêem o Linux e seus programas não fazem chamas diretas a ele. </li></ul><ul><li>Suporte a gráficos 3D, especificação 1.0 da OpenGL ES, possível criar jogso com ótima qualidade. </li></ul>14/09/11 ENUCOMP - 2011
    • 38. Open Handset Alliance <ul><li>União entre grandes da telefonia liderados pelo Google (OHA – Open Handset Alliance ) </li></ul><ul><li>Definir uma plataforma única e aberta </li></ul><ul><li>Plataforma moderna e flexível para desenvolvimento de aplicações </li></ul><ul><li>Fabricantes, Usuários e Desenvolvedores se beneficiam com o grupo </li></ul>14/09/11 ENUCOMP - 2011
    • 39. Dalvik Virtual Machine <ul><li>JVM ótimizada para execução de dispositivos móveis – Dalvik </li></ul><ul><li>Bytecodes (arquivo .class) são convertidos em arquivo .dex (Dalvik Executable) – Aplicação android compilada </li></ul><ul><li>Compactação dos arquivos .dex e recursos como imagens em arquivos .apk (Android Package File) – Aplicação Final </li></ul>14/09/11 ENUCOMP - 2011
    • 40. Instalando as ferramentas do Android <ul><li>Requisitos </li></ul><ul><ul><li>Java SDK </li></ul></ul><ul><ul><li>Android SDK </li></ul></ul><ul><ul><li>Eclipse IDE </li></ul></ul><ul><ul><li>Plugin ADT </li></ul></ul>14/09/11 ENUCOMP - 2011
    • 41. Configuração do ambiente <ul><li>Escolher a versão </li></ul><ul><li>do JDK </li></ul>2.Aceite os termos 3.Escolher a versão para seu S.O 14/09/11 ENUCOMP - 2011
    • 42. Configuração do ambiente <ul><li>Instalação do JDK no Linux (Ubuntu) </li></ul><ul><li>Com o comando apt-get : </li></ul><ul><li>sudo apt-get install openjdk-6-jdk &amp;&amp; sudo apt-get install sun-java6-jdk </li></ul><ul><li>Após a instalação entre via console e digite: java –v </li></ul><ul><li>A saída deve ser a versão do java instalado. </li></ul>14/09/11 ENUCOMP - 2011
    • 43. Instalação do Android SDK 1. no site www.android.com escolher a opção developers 14/09/11 ENUCOMP - 2011
    • 44. Instalação do Android SDK 2. Escolha a opção SDK 3. Baixe o android SDK de acordo com o seu S.O A versão atual é a 3.2 (para tablet) e 2.3.3 (para smartphone) 14/09/11 ENUCOMP - 2011
    • 45. Instalação do Android SDK <ul><li>Localize o arquivo e descompacte-o. </li></ul><ul><li>No windows basta executar o arquivo “SDK Manager.exe” localizado na pasta raiz do sdk </li></ul><ul><li>No linux ou Mac, acesse pelo terminal a pasta raiz do sdk e execute o comando ./tools/android </li></ul>14/09/11 ENUCOMP - 2011
    • 46. Instalação do Android SDK <ul><li>irá aparacer o Android SDK e o AVD ( android vitual device ) Manager. </li></ul>14/09/11 ENUCOMP - 2011
    • 47. Instalação do Android SDK Vá em “Available Packages”, marque a opção “AndroidRepository” e clique em “Install Selected” 14/09/11 ENUCOMP - 2011
    • 48. Instalação do Android SDK <ul><li>Uma lista com todos os componentes disponíveis, incluindo documentação, plataformas, add-on, bibliotecas será exibida. </li></ul>14/09/11 ENUCOMP - 2011
    • 49. Instalação do Android SDK <ul><li>Caso ocorra algum erro de HTTPS SSL, vá em &amp;quot;settings“, marque a opção &amp;quot;Force https:// sources to be fetched using http://&amp;quot; e clique em &amp;quot;Save &amp; Apply&amp;quot;. </li></ul>14/09/11 ENUCOMP - 2011
    • 50. Instalação do Android SDK <ul><li>Aceite todos e clique em “install” </li></ul>14/09/11 ENUCOMP - 2011
    • 51. <ul><li>Instalação e Configuração do Eclipse IDE </li></ul>1. Acesse o site www.eclipse.org e vá na sessão “Downlods” 2. Escolha a versão do Eclipse IDE for Java Developers 14/09/11 ENUCOMP - 2011
    • 52. <ul><li>Instalação e Configuração do Eclipse IDE </li></ul><ul><li>Faça o download </li></ul>14/09/11 ENUCOMP - 2011
    • 53. Instalação e Configuração do Eclipse IDE <ul><li>Após o download localize o arquivo , descompacte-o e execute o arquivo “eclipse.exe” </li></ul><ul><li>No ubunto é apenas “eclipse” </li></ul>14/09/11 ENUCOMP - 2011
    • 54. Instalação do plugin ADT <ul><li>Inicie o eclipse e vá em “ help ”, “ install new software ” </li></ul>14/09/11 ENUCOMP - 2011
    • 55. Instalação do plugin ADT <ul><li>Clique em add e uma nova janela irá aparecer </li></ul><ul><li>Em “name” coloque “ADT Plugin” e em “location” adicione https://dl-ssl.google.com/android/eclipse/ e clique em “ok” </li></ul>14/09/11 ENUCOMP - 2011
    • 56. Instalação do plugin ADT <ul><li>Selecione “ADT Plugin” na lista de sites, marque a opção “Developers Tools” e clique em “next”. </li></ul>14/09/11 ENUCOMP - 2011
    • 57. Instalação do plugin ADT <ul><li>Irá aparecer uma lista com todos os item a serem instalados. </li></ul><ul><li>Clique em &amp;quot;Next&amp;quot; novamente. Na próxima tela, escolha a opção &amp;quot; I accept the the terms of the licence agreements &amp;quot; e clique em &apos;Finish&apos;. </li></ul><ul><li>Após o processo de instação do plugin o Eclipse irá reiniciar. </li></ul>14/09/11 ENUCOMP - 2011
    • 58. <ul><li>Instalação do plugin ADT </li></ul><ul><li>Quando o Eclipse IDE iniciar uma mensagem de erro irá aparecer, porque a IDE não consegue localizar o Android SDK </li></ul><ul><li>Vá em Window, Preferences, Android. Clique em &apos;Browse..‘, selecione a raiz do SDK e clique em &apos;OK‘. </li></ul>14/09/11 ENUCOMP - 2011
    • 59. Criando uma ADV <ul><li>Abra o “SDK e ADV Manager” e em Virtual Devices clique em “new” </li></ul>14/09/11 ENUCOMP - 2011
    • 60. Criando uma ADV <ul><li>Adicione as informações como na imagem e clique em “Create ADV” </li></ul>14/09/11 ENUCOMP - 2011
    • 61. Criando uma ADV <ul><li>Criamos uma ADV com o nome “enucomp” </li></ul><ul><li>Que possui o firmeware 2.2 e também possui o Secure Digital Card (SD) e o Skin Default Half-VGA – HVGA (320 x 480) </li></ul>14/09/11 ENUCOMP - 2011
    • 62. Pronto! Nosso ambiente está pronto para desenvolvimento. 14/09/11 ENUCOMP - 2011
    • 63. Projeto “Meu HelloWord” <ul><li>O plugin ADT vem com uma aplicação HelloWord de exemplo, vamos usá-la </li></ul><ul><li>Vá em “file” &gt; “Project” &gt; “new project”. </li></ul><ul><li>Vá em “android” &gt; “android project” e clique em “next” </li></ul><ul><li>Em Project Name digite: HelloAndroid </li></ul><ul><li>No Build Target: Android 2.2 </li></ul><ul><li>Application Name : Hello, Android </li></ul><ul><li>Package name: br.ifpi.edu.hello </li></ul><ul><li>Create Activity: Hello </li></ul><ul><li>E clique em “finish” </li></ul>14/09/11 ENUCOMP - 2011
    • 64. Projeto “Meu HelloWord” <ul><li>Um estrutura de diretórios como a mostrada abaixo será criada </li></ul>14/09/11 ENUCOMP - 2011
    • 65. Projeto “Meu HelloWord” <ul><li>Para executar clique com o botão direito em cima do projeto e escolha “run as” &gt; “android application” </li></ul>14/09/11 ENUCOMP - 2011
    • 66. Projeto “Meu HelloWord” 14/09/11 ENUCOMP - 2011
    • 67. Activity III SACIC - 2011 14/09/11 ENUCOMP - 2011
    • 68. Activity <ul><li>Uma tela pode ser criada de duas formas: </li></ul><ul><li>– Em um arquivo XML </li></ul><ul><li>– Direto em um arquivo Java usando a sua API </li></ul><ul><li>android.app.Activity: </li></ul><ul><li>– Similar à classe JFrame do Swing </li></ul><ul><li>– Representa, à priori, uma tela da aplicação </li></ul><ul><li>– Composta por vários componentes representados pela classe andoid.view.View (botões, checkboxes, imagens) </li></ul><ul><li>– Controla a passagem de parâmetros para outra tela </li></ul><ul><li>– Define métodos para tratar eventos dos componentes </li></ul>14/09/11 ENUCOMP - 2011
    • 69. Activity 14/09/11 ENUCOMP - 2011
    • 70. View <ul><li>São componentes simples (botões, checkboxes, imagens) ou componentes compostos </li></ul><ul><ul><li>– Atuam como gerenciadores de layout </li></ul></ul><ul><ul><li>– Podem conter várias views filhas (outro componentes) </li></ul></ul><ul><li>O arquivo main.xml é um arquivo de layout padrão </li></ul><ul><li>Vários layouts podemser definidos </li></ul>14/09/11 ENUCOMP - 2011
    • 71. Setando a View Principal <ul><li>O médoto setContentView faz a ligação entre a activity e a view </li></ul><ul><li>A view passada como parâmetro está definida no arquivo main.xml (pode ser mudado) </li></ul><ul><li>– é referenciada via o arquivo R.java como uma constante </li></ul>14/09/11 ENUCOMP - 2011
    • 72. A classe R 14/09/11 ENUCOMP - 2011
    • 73. AndroidManifest.xml Base da aplicação e semelhante ao web.xml de aplicações WEB 14/09/11 ENUCOMP - 2011
    • 74. AndroidManifest.xml <ul><li>As Activities devem ser definidas no arquivo </li></ul><ul><li>Para que o usuário possa interagir, pelo menosuma Activity deve ser definida no arquivo </li></ul><ul><li>A configuração de uma Activity como ponto de partida para a aplicação é ilustrada abaixo: </li></ul>14/09/11 ENUCOMP - 2011
    • 75. Criação de interface via Java <ul><li>Pode-se definir uma interface visual via codificação java </li></ul>14/09/11 ENUCOMP - 2011
    • 76. Referenciando componentes <ul><li>Sempre que possível, atribua um ID aos componentes </li></ul>14/09/11 ENUCOMP - 2011
    • 77. Referenciando componentes <ul><li>Adicionar IDs aos componentes permitem acesso via codificação </li></ul>14/09/11 ENUCOMP - 2011
    • 78. Tratando o clique de um botão <ul><li>Para tratar eventos de um botão, deve-se: </li></ul><ul><ul><li>– Obter o componente pelo ID </li></ul></ul><ul><ul><li>– Instanciar um listener </li></ul></ul><ul><ul><li>– Setar o listener no botão </li></ul></ul><ul><ul><li>– Implementar o método onClick </li></ul></ul>14/09/11 ENUCOMP - 2011
    • 79. Exemplo 14/09/11 ENUCOMP - 2011
    • 80. Gerando Logs 14/09/11 ENUCOMP - 2011
    • 81. Gerando Logs <ul><li>Usa-se a classe Log e seus métodos estáticos: </li></ul>14/09/11 ENUCOMP - 2011
    • 82. Componentes III SACIC - 2011 14/09/11 ENUCOMP - 2011
    • 83. Roteiro <ul><li>ScrollView; </li></ul><ul><li>MapView; </li></ul><ul><li>ListView; </li></ul><ul><li>ImageView; </li></ul><ul><li>ContextMenu; </li></ul><ul><li>Autocomplete; </li></ul><ul><li>Tables; </li></ul><ul><li>Buttons (ImageButton, GroupButton, Button); </li></ul><ul><li>“ CSS”; </li></ul><ul><li>Tratamento de eventos </li></ul><ul><li>Apresentação de exemplos </li></ul>14/09/11 ENUCOMP - 2011
    • 84. ScrollView <ul><li>A classe android.widget.ScrollView deve ser utilizada para telas que contêm muitos elementos e nas quais seja necessário fazer a rolagem da tela. </li></ul><ul><ul><li>Exemplo </li></ul></ul><ul><ul><ul><li>exemplo_scrollview.xml </li></ul></ul></ul><ul><ul><ul><li>ExemploScrollView </li></ul></ul></ul>14/09/11 ENUCOMP - 2011
    • 85. MapView <ul><li>Para visualização de mapas; </li></ul><ul><ul><li>Para utilizar um MapView, basta definir a tag &lt;com.google.android.maps.MapView&gt; e informar no atributo android:apiKey uma chave de autenticação válida para o Google Maps. </li></ul></ul><ul><ul><li>Exemplo </li></ul></ul><ul><ul><ul><li>Mapview.xml </li></ul></ul></ul><ul><ul><ul><li>MapaSimplesXML </li></ul></ul></ul>14/09/11 ENUCOMP - 2011
    • 86. ListView <ul><li>Desenha os componentes em uma lista vertical e com barra de rolagem (scroll), se necessário. </li></ul><ul><ul><li>Necessita da classe android.app.ListActivity, uma acitivy especial para exibir uma lista de itens na vertical. </li></ul></ul><ul><ul><li>Exemplo </li></ul></ul><ul><ul><ul><li>Prático! Pág. 113 </li></ul></ul></ul>14/09/11 ENUCOMP - 2011
    • 87. ImageView <ul><li>Apresenta uma imagem que você selecionou. </li></ul>14/09/11 ENUCOMP - 2011
    • 88. Context Menu <ul><li>Menu contextuado que pode ser utilizado em qualquer momento de sua aplicação. </li></ul><ul><ul><li>Exemplo </li></ul></ul><ul><ul><ul><li>Pág 253 </li></ul></ul></ul>14/09/11 ENUCOMP - 2011
    • 89. Autocomplete <ul><li>Um recurso muito usado em aplicações web </li></ul><ul><li>São campos de texto que podem completar automaticamente o texto que o usuário está digitando. </li></ul><ul><ul><li>Para usar o AutoCompleteTextView é necessário chamar o método setAdapter(adaptador) e informar sua implementação de ListAdapter. </li></ul></ul><ul><ul><li>Exemplo </li></ul></ul><ul><ul><ul><li>Pág 221 </li></ul></ul></ul>14/09/11 ENUCOMP - 2011
    • 90. Tabs <ul><li>Conceitos </li></ul><ul><ul><li>TabHost – Componente que agrupa os butões e o contéudo </li></ul></ul><ul><ul><li>TabWidget – Grupa em linha os butões que possuem labels e ícones (opcional) </li></ul></ul><ul><ul><li>FrameLayout – Agrupa o conteúdo de uma aba </li></ul></ul>14/09/11 ENUCOMP - 2011
    • 91. Tabs <ul><li>Estrutura </li></ul>14/09/11 ENUCOMP - 2011
    • 92. Usando TabActivity <ul><li>Crie uma nova Activity que extenda de TabActivity e implementa as interfaces OnTabChangeListener e TabContentFactory </li></ul>14/09/11 ENUCOMP - 2011
    • 93. Usando TabActivity <ul><li>Crie dois novos layouts xml do android com os nomes tab1.xml tab2.xml e adicione um TextView a cada layout </li></ul><ul><li>E altere o setContentView() das activitys Tab1.class e Tab2.class para eles. </li></ul>14/09/11 ENUCOMP - 2011
    • 94. Nova tab pelo XML do Android <ul><li>Crie um novo layout XML - tabs.xml </li></ul><ul><li>Crie uma nova acvitivy - Tabs.java que estenda de Activity </li></ul><ul><li>Adicione a activity ao AndroidManifest.xml </li></ul><ul><li>Altere o método setContentView(R.layout.tabs)) </li></ul>14/09/11 ENUCOMP - 2011
    • 95. Nova tab pelo XML do Android <ul><li>Sua activity deve está assim </li></ul>14/09/11 ENUCOMP - 2011
    • 96. Nova tab pelo XML do Android <ul><li>Altere o arquivo tab.xml </li></ul>14/09/11 ENUCOMP - 2011
    • 97. Nova tab pelo XML do Android <ul><li>Altere o arquivo Tab.java </li></ul>14/09/11 ENUCOMP - 2011
    • 98. Nova tab pelo XML do Android <ul><li>Altere o arquivo AndroidManifest para que a activity Tabs.java seja iniciada no início da aplicação </li></ul>14/09/11 ENUCOMP - 2011
    • 99. Buttons <ul><li>As classes android.widget.Button e android.widget.ImageButton são utilizadas para criar um botão na tela. </li></ul><ul><ul><li>A diferença é que a classe ImageButton permite usar uma imagem para desenhar no botão. </li></ul></ul><ul><ul><li>Exemplo </li></ul></ul><ul><ul><ul><li>Pág 223 </li></ul></ul></ul>14/09/11 ENUCOMP - 2011
    • 100. “ CSS” <ul><li>Podemos utilizar os arquivos XML como extensões de estilos que podem ser reutilizados em vários layouts, sem necessitar a repetição de código. </li></ul><ul><ul><li>Exemplo </li></ul></ul><ul><ul><ul><li>Guia Turistico </li></ul></ul></ul>14/09/11 ENUCOMP - 2011
    • 101. Ciclo de vida III SACIC - 2011 14/09/11 ENUCOMP - 2011
    • 102. 17/05/11 III SACIC - 2011 Ciclo de vida de uma activity 14/09/11 ENUCOMP - 2011
    • 103. 17/05/11 III SACIC - 2011 <ul><li>onCreate : </li></ul><ul><ul><li>– Obrigatório e chamado uma única vez. </li></ul></ul><ul><ul><li>– Deve-se setar a view </li></ul></ul><ul><li>• onStart : é chamado quando uma activity está ficando visível e já tem uma view definida </li></ul><ul><li>• onRestart: chamado quando uma activity foi parada temporariamente e está retornando à execução </li></ul><ul><li>• onResume : </li></ul><ul><ul><li>– Quando uma activity está executando. </li></ul></ul><ul><ul><li>– Pode ser chamada também para recuperação de dados quando foi interrompida e volta a execução </li></ul></ul>Ciclo de vida de uma activity 14/09/11 ENUCOMP - 2011
    • 104. 17/05/11 III SACIC - 2011 <ul><li>onPause : chamado quando a activity está sendo tirada do topo da execução. Usado para salvar o estado da aplicação </li></ul><ul><li>onStop : </li></ul><ul><li>– A aplicação não está mais visível e está em segundo plano. </li></ul><ul><li>– Caso fique por muito tempo em 2o Plano e falte recursos, o S.O. pode remover completamente da pilha de execução </li></ul><ul><li>onDestroy : encerra literalmente a activity </li></ul>Ciclo de vida de uma activity 14/09/11 ENUCOMP - 2011
    • 105. Activities x Intents III SACIC - 2011 14/09/11 ENUCOMP - 2011
    • 106. Activities x Intents <ul><li>Activities são as &amp;quot;telas&amp;quot; </li></ul><ul><li>Uma aplicação pode ter várias activities: </li></ul><ul><li>– geralmente independentes, </li></ul><ul><li>– contudo elas podem precisar se cooperar e trocar dados entre si </li></ul><ul><li>Numa aplicação tradicional, uma activity deve ser definida como &amp;quot;main&amp;quot; e será executada ao rodar a aplicação </li></ul><ul><li>Indo de uma activity para outra é possível pedindo para a atual executar uma intent </li></ul>14/09/11 ENUCOMP - 2011
    • 107. Intents 14/09/11 ENUCOMP - 2011
    • 108. Intents <ul><li>android.content.Intent </li></ul><ul><ul><li>• Representa uma mensagem da aplicação para o S.O. </li></ul></ul><ul><ul><li>• Solicita que algo seja realizado e serve para integrar aplicações </li></ul></ul><ul><li>• Ex: </li></ul><ul><ul><li>– Chamar outra tela (já visto) </li></ul></ul><ul><ul><li>– Solicitar que o S.O. ligue para um número; </li></ul></ul><ul><ul><li>– Abrir o browser em um determinado endereço </li></ul></ul><ul><ul><li>– Exibir algum endereço, localização ou rota num mapa </li></ul></ul><ul><ul><li>– Executar processamento em segundo plano </li></ul></ul><ul><ul><li>– Enviar mensagem para outras aplicações realizarem tarefas específicas </li></ul></ul>14/09/11 ENUCOMP - 2011
    • 109. Intents <ul><li>São chamadas pelos métodos: </li></ul><ul><li>startActivity(intent) = Executa uma activity </li></ul><ul><li>starActivityForResult(intent) = Executa uma activity quepode retornar valores </li></ul><ul><li>startService(intent) or bindService(intent, …) = Inicia ou se comunica comum serviço de segundo plano </li></ul><ul><li>sendBroadcast(intent) = Envia uma intent que podeser &amp;quot;capturada&amp;quot; por serviçosespecíficos </li></ul>14/09/11 ENUCOMP - 2011
    • 110. Alguns tipos de Intents pré-definidos 14/09/11 ENUCOMP - 2011
    • 111. Permissões <ul><li>Algumas intents necessitam de permissão explicita para executar </li></ul><ul><li>Deve-se adicionar as permissões no arquivo AndroidManifest.xml </li></ul>14/09/11 ENUCOMP - 2011
    • 112. Usando Intents pré-definidas 14/09/11 ENUCOMP - 2011
    • 113. Algumas permissões <ul><li>Permissão para executar navegação: INTERNET </li></ul><ul><li>Ligações telefônicas: CALL_PHONE </li></ul><ul><li>Leitura à lista de contatos: READ_CONTACTS </li></ul>14/09/11 ENUCOMP - 2011
    • 114. Intent chamar navegador <ul><li>Tipo ACTION_VIEW </li></ul><ul><li>... </li></ul><ul><li>Uri uri = Uri.parse(&amp;quot;http://www.android.com&amp;quot;); </li></ul><ul><li>Intent it = new Intent(Intent.ACTION_VIEW, uri); </li></ul><ul><li>startActivity(it); </li></ul><ul><li>... </li></ul><ul><li>É necessária a permissão INTERNET </li></ul>14/09/11 ENUCOMP - 2011

    ×