Buscar

Android-Modulo1

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

Continue navegando