SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Universidade Federal de Mato Grosso
 Campus Universitário do Araguaia
      Ciência da Computação




                                      Leonardo da Silva Sousa
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
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.
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.
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.
Arquitetura do Android
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.
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).
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.
Application Framework
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++
Libraries
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.
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.
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.
Transformando um código Java em
um executável DVM
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.
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.
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.
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.
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”

Weitere ähnliche Inhalte

Was ist angesagt?

Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o AndroidHeider Lopes
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4Jose Berardo
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Tchelinux
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3Jose Berardo
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Jose Berardo
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma AndroidNatanael Fonseca
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidJosé Alexandre Macedo
 
Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Gustavo Zimmermann
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Afonso Machado
 
Minicurso de Android
Minicurso de AndroidMinicurso de Android
Minicurso de AndroidEdgar Eler
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2Jose Berardo
 

Was ist angesagt? (20)

Android
AndroidAndroid
Android
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o Android
 
Android
AndroidAndroid
Android
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Android
Android Android
Android
 
Google android pdf
Google android pdfGoogle android pdf
Google android pdf
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
 
Android Aula 3
Android Aula 3Android Aula 3
Android Aula 3
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Android Aula 4
Android Aula 4Android Aula 4
Android Aula 4
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1
 
Minicurso de Android
Minicurso de AndroidMinicurso de Android
Minicurso de Android
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2
 

Ähnlich wie UFMT Araguaia Android Arquitetura

Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao androidPaulo Remoli
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introduçãoDenis Sobrenome
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introduçãoDenis Sobrenome
 
Introdução a Arquitetura Android
Introdução a Arquitetura AndroidIntrodução a Arquitetura Android
Introdução a Arquitetura AndroidMaycon Viana Bordin
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)Walanem Figueiredo
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaRosicleia Frasson
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Androidjgbirk
 
Desenvolvimento android
Desenvolvimento androidDesenvolvimento android
Desenvolvimento androidDiego Keller
 
Android-Juliana-slides.ppt
Android-Juliana-slides.pptAndroid-Juliana-slides.ppt
Android-Juliana-slides.pptMarcelo Silva
 
Introdução a JavaME
Introdução a JavaMEIntrodução a JavaME
Introdução a JavaMEfrgo
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo OliveiraRonildo Oliveira
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para AndroidClaudio Pereira
 

Ähnlich wie UFMT Araguaia Android Arquitetura (20)

Programe seu androide
Programe seu androidePrograme seu androide
Programe seu androide
 
Programe seu androide
Programe seu androidePrograme seu androide
Programe seu androide
 
Programe seu androide
Programe seu androidePrograme seu androide
Programe seu androide
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao android
 
Android juliana-mono
Android juliana-monoAndroid juliana-mono
Android juliana-mono
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introdução
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introdução
 
Introdução a Arquitetura Android
Introdução a Arquitetura AndroidIntrodução a Arquitetura Android
Introdução a Arquitetura Android
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com Java
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Android
 
Android
AndroidAndroid
Android
 
Desenvolvimento android
Desenvolvimento androidDesenvolvimento android
Desenvolvimento android
 
Android-Juliana-slides.ppt
Android-Juliana-slides.pptAndroid-Juliana-slides.ppt
Android-Juliana-slides.ppt
 
Introdução a JavaME
Introdução a JavaMEIntrodução a JavaME
Introdução a JavaME
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 
Java -aula_01
Java  -aula_01Java  -aula_01
Java -aula_01
 
Android - Notas de aula
Android - Notas de aulaAndroid - Notas de aula
Android - Notas de aula
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Microsoft .NET Framework
Microsoft .NET FrameworkMicrosoft .NET Framework
Microsoft .NET Framework
 

UFMT Araguaia Android Arquitetura

  • 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.
  • 16. Transformando um código Java em um executável DVM
  • 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”