1. Universidade Federal de Mato Grosso
Campus Universitário do Araguaia
Ciência da Computação
Leonardo da Silva Sousa
2. Tópicos
Android: o que é?
Arquitetura do Android;
Camada 1: applications;
Camada 2: middleware;
Camada 3: Linux Kernel;
Dalvick Virtual Machine;
Transformando um código Java em um executável DVM;
Arquitetura de uma Aplicação;
Componentes uma Aplicação;
AndroidManifest
3. Android: o que é?
Plataforma para dispositivos móveis baseada
em Linux com interface de programação em
Java.
Desenvolvida pela Open Handset Alliance
(OHA), liderada pela Google.
4. Android: o que é?
Inclui um sistema operacional, um
middleware e uma chave para as aplicações.
Dalvick Virtual Machine (DVM).
Android SDK: um compilador, um
depurador de código e um emulador de
dispositivos.
5. Arquitetura do Android
A arquitetura por trás do sistema operacional
Android é representada através de uma pilha.
Três camadas: na parte superior encontram-
se as applications (app), na camada
intermediária o middleware e na base
encontra-se o Linux Kernel.
7. Camada 1: applications
A primeira camada é formada por uma lista
de aplicações padrões que executam no
sistema operacional.
Nesta camada também ficará as aplicações
desenvolvidas por terceiros.
8. Camada 2: middleware
A segunda camada é formada pelo:
framework da aplicação (aplication
framework)
o conjunto de bibliotecas (libraries);
ambiente de execução (runtime Android).
9. Application Framework
Conjunto de componentes pré-instalados
nos dispositivos.
Permite que novas estruturas sejam
utilizadas para futuras aplicações.
Prioriza a reutilização de código.
11. Libraries
Bibliotecas nativas do Android.
Essas bibliotecas são pré-instaladas pelo o
fabricante.
São todas escritas em linguagem de
programação C ou C++
13. Android Runtime
É nesta subcamada que se encontra as
principais bibliotecas Java e a máquina
virtual Dalvick (DVM).
Diferentes tanto do JSE quanto do JME.
Várias sobreposições: facilidade aos
programadores que conhecem Java.
14. Camada 3: Linux Kernel
Conjunto de drives que formam o Linux Kernel.
Atua como uma camada de abstração entre o
hardware e o software.
Responsável por serviços como
segurança, gerenciamento de memória e de
processos, rede e controle de drives.
15. Dalvick Virtual Machine
Máquina virtual Java otimizada para
dispositivos móveis.
Programador tem acesso total à linguagem de
programação Java apesar de alguns pacotes e
APIs do JSE não serem suportados.
O código Java é compilado com um compilador
Java padrão e depois são interpretados pela
Dalvick.
17. Arquitetura de uma Aplicação
A arquitetura de uma aplicação Android ao
contrário de uma aplicação para desktop é
baseado em componentes que se
comunicam entre si, isso é feito usando
Intents.
Intents é um objeto mensagem que serve
para comunicação entre as aplicações ou
para iniciar uma nova aplicação.
18. Componentes uma Aplicação
São cada bloco que uma aplicação é divida.
Activities: representa uma única tela com o
usuário. Ex: gerenciador de email.
Services: é um componente que executa em
background. Ex: player de música.
19. Componentes uma Aplicação
Content Providers: gerencia o compartilha-
mento de dados.
Responsável por permitir que uma aplicação
acesse os dados de um banco dados, de um
sistema de arquivos, na web ou em qualquer
outro sistema de armazenamento que a
aplicação possa acessar.
20. Componentes uma Aplicação
Broadcast Receivers: responsável por receber
e reagir à broadcast.
Um exemplo de broadcast é quando o
sistema anuncia que a bateria está acabando.
21. AndroidManifest
Antes da aplicação iniciar a execução é
necessário que o sistema conheça todos os
componentes que a aplicação necessitará para
sua execução.
Essas informações são encontradas no arquivo
“AndroiManifest.xml”