Baixe o app para aproveitar ainda mais
Prévia do material em texto
Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 1 Programação para Dispositivos Móveis com Android Módulo 1 – O que é o Android? Maurício José da Silva badriciobq@gmail.com Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 2 Porque Android?Porque Android? ✔ Em 2012 atingiu a marca de 400 milhões de dispositivos ativos. ✔ Mais de 1,5bilhões de downloads de aplicativos no Google Play todos os meses. Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 3 Visão GeralVisão Geral ✔ Baseado em Linux ✔ Open Handset Alliance: Formado por 85 grandes empresas ✔ Código aberto, permite que os fabricantes modifiquem sem a necessidade de disponibilizar as mudanças. ✔ Licença: Apache Software Foundation (ASF) Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 4 Sistema Operacional LinuxSistema Operacional Linux ✔ Kernel linux responsável por gerenciar: memória, processos, threads, arquivos e drivers. ✔ O ciclo de vida da aplicação é definido pelo Sistema Operacional. ✔ Cada aplicação possui seu processo e seu usuário. Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 5 Máquina VirtualMáquina Virtual ✔ Versão enxuta da linguagem JAVA ✔ Maquina Virtual Dalvik, otimizada para dispositivos móveis ✔ Gera um aquivo .dex (Dalvik Execultable), que representa a aplicação compilada. ✔ IDE gera o arquivo .apk, que contém os executáveis e os recursos necessários para a aplicação. Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 6 Branch de desenvolvimentoBranch de desenvolvimento Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 7 Sistema de bootSistema de boot ✔ Inicialização e execução do código de boot presente na ROM ✔ Pedaço de código ao qual a CPU tem acesso direto. ✔ Detecta região de memória utilizada pelo boot (jumper). ✔ Carrega o primeiro estágio da inicialização para a RAM e inicia o boot loader Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 8 Boot LoaderBoot Loader ✔ Responsável por carregar o kernel na RAM. ✔ O mais utilizado boot loader é o conhecido Das U- Boot. ✔ Estágios do boot Loader: ✔ Primeiro estágio Detectar a memória externa e colocá-lo na memória. ✔ Segundo estágio ele carrega o código principal configurando o dispositivo. ✔ Terceiro estágio ele identifica o kernel e o copia para a RAM. Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 9 Boot LoaderBoot Loader Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 10 Kernel do LinuxKernel do Linux ✔ Configura os recursos necessários: Controladores, memória, cache, escalonamento... ✔ Uma vez configurado ele está apto a utilizar a memória Virtual. ✔ Faz uma chamada do processo init. Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 11 Init e ZygoteInit e Zygote ✔ Processo Init é como um “pai” de todos os processo do sistema. ✔ Inicializa a partir do arquivo init.rc (serviços de sistema, sistema de arquivo e demais parâmetros) ✔ Zygote é inicializado pelo Init, é responsável pela Dalvik Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 12 System ServerSystem Server ✔ É o primeiro componente JAVA carregado. ✔ Responsável por todos os serviços do android. Cria um processo para cada serviço. ✔ Quado o processo de boot termina com sucesso, ele envia um evento de boadcast chamado ACTION_BOOT_COMPLETED. Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 13 SDK AndroidSDK Android ✔ Software para desenvolvimento Android (emulador, ferramentas utilitárias e API JAVA). ✔ Eclipse 4.2.1, utilizando o plugin ADT, e JAVA 7. ✔ Para instalar o SDK, basta baixá-lo no link (http://developer.android.com/sdk). $ export PATH=$PATH:/<path-sdk-descompactado>/tools $ android sdk Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 14 InstalaçãoInstalação ✔ Depois de instalados os SDKs desejados, adicione a pasta platform-tools no PATH; $ export PATH=$PATH:/<path-sdk-descompactado>/platform-tools $ adb version ✔ Listar os SDKs instalados; $ android list target Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 15 InstalaçãoInstalação ✔ Criando um AVD $ android create avd -n <nome> -t <id> -c <tamanho do sdCard> ✔ Listando os AVDs $ android list avd ✔ Iniciando um AVD $ emulator -avd <Nome listado> $ adb install <aplicação.apk> Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 16 Instalação do plugin no eclipseInstalação do plugin no eclipse ✔ Baixe e eclipse classic e descompacte no home do usuário; ✔ Abra o menu: help > Install New Software; ✔ Adicione o repositório do ADT: https://dl-ssl.google.com/android/eclipse/ ✔ Instale os pacotes listados; ✔ Adicione o Path do SDK no eclipse. https://dl-ssl.google.com/android/eclipse/ Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 17 Primeiro ProjetoPrimeiro Projeto ✔ Criando o Primeiro Projeto. ✔ Estrutura: ✔ src - Contém os fontes do projeto. ✔ gen - Contém a classe R.java. ✔ assets - Contém arquivos opcionais. (Ex: fonte customizada) ✔ res - Contém os recursos da app. ✔ drawable - Contém as imagens utilizada na app. ✔ layout - Contém o XML do layout. ✔ values - Contém os arquivos XML utilizados para a internacionalização da app. Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 18 MultiscreenMultiscreen ✔ Layout é definido no arquivo main.xml ✔ Android está presente em celulares, tablets, televisões e diversos outros dispositivos. ✔ Utilize “mach_parent”, “wrap_content” e “RelativeLayout”. Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 19 InternacionalizaçãoInternacionalização ✔ Android carrega os recursos de acordo com a localidade do dispositivo. Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 20 Segurança e PermissõesSegurança e Permissões ✔ É a base de toda aplicação e deve ficar na raiz do projeto. ✔ AndroidManifest.xml: ✔ Cita o pacote JAVA (Identificador); ✔ Descreve os componentes da aplicação (activities, services, broadcast-receivers e contents); ✔ Determina quais processos hospedarão a aplicação; ✔ Declara quais permissões a aplicação terá; ✔ Declara o nível mínimo da API; ✔ Lista as bibliotecas necessárias;Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 21 Logcat e AVDLogcat e AVD ✔ System.out/ System.err - Dalvik direciona para /dev/null ✔ Android.util.log oferece nível mais detalhado para o log (D, V, I, W, E) ✔ AVD (Android Virtual Device) – Criado a partir da versão 1.5 para simular um celular real. ✔ AVD tem que ser compatível com a API utilizada. Projeto Laboratório de Redes do Conhecimento - 18 de outubro de 2012Instituto Federal de Educação, Ciência e Tecnologia do Estado de Minas Gerais 22 ExercícioExercício ✔ 5 Pts - Construir a aplicação seguindo o Tutorial disponível em: http://developer.android.com/training/basics/firstapp/index.html ✔ Submeter no moodle até as 17:00 hrs do dia da próxima aula, compactado, com o seguinte nome: NomeSobrenome- Aula1.tar.gz http://developer.android.com/training/basics/firstapp/index.html Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22
Compartilhar