TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

ANDROID

Casos: ANDROID. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  19/7/2013  •  3.317 Palavras (14 Páginas)  •  735 Visualizações

Página 1 de 14

ANDROID

ARQUITETURA

1. Aplicativos: A camada de aplicativos é a camada mais alta da arquitetura do sistema, composta pelo conjunto de aplicativos nativos do sistema, dentre estes pode se citar: cliente de e-mail, calendário, mapas, browser e internet, despertador, jogos, e outros.

2. Framework Nativo: A camada de framework nativo disponibiliza aos desenvolvedores as mesmas APIs (Interface de Programação de Aplicativos) usadas para criar as aplicações originais do sistema. Este framework permite que o desenvolvedor tenha o mesmo acesso ao sistema, que os aplicativos da camada de aplicativos possuem. Este framework foi criado para abstrair a complexidade e simplificar o reuso de procedimentos. Essa camada funciona como um meio de ligação com a camada de bibliotecas do sistema que serão acessadas através de APIs contidas no framework. Entre as APIs podemos destacar:

Location Manager: Usada para obter a posição geográfica do usuário. Como por exemplo, em aplicações que fazem uso de GPS.

Telephony Manager: Informações sobre dispositivos como bateria e serviços de telefonia celular podem ser obtidos através dessa API.

Window Manager: Responsável pelo gerenciamento de toda janela de uma aplicação.

Content Providers: Responsável pela disponibilização dos dados através das aplicações tornando esses dados públicos. Quase todo tipo de dado é compartilhável, como áudio, vídeo, imagens e texto.

Resource Manager: Todos os recursos que uma aplicação irá usar como áudio, vídeo, arquivos XML, são separados dela a fim de que sejam otimizados para ocupar menos espaço e demorar menos tempo para que sejam carregados. Essa API facilita o acesso a esses recursos.

Notification Manager: Permite que uma aplicação exiba notificações, ative LEDs, luzes, sons ou vibração disponíveis no dispositivo.

Activity Manager: Responsável pelo gerenciamento de cada atividade do sistema. No Android cada atividade é gerenciada através de uma pilha de atividades. Toda nova atividade criada vai para o topo de pilha de atividades e se torna uma running activity, o que quer dizer que será executada.

3. Bibliotecas: A plataforma também inclui uma coleção de bibliotecas C/C usadas pelos componentes do sistema. Essas bibliotecas são acessadas pelo programador via Java, através do framework do sistema. Essas bibliotecas são responsáveis por prover funcionalidades para manipulação de áudio, vídeo, gráficos, banco de dados e navegador.

4. Android Runtime: O Android inclui um grupo de bibliotecas que fornece a maioria das funcionalidades disponíveis nas principais bibliotecas da linguagem Java.

Toda aplicação Android roda em seu próprio processo, com sua própria instância da máquina virtual Dalvik. O Dalvik foi escrito de forma a executar várias VMs eficientemente. Ele executa arquivos .dex, que é otimizado para consumo mínimo de memória. A VM é baseada em registros e roda classes compiladas pela linguagem Java que foram transformadas em arquivos .dex, através da ferramenta “dx” incluída no SDK. (vai ser explicado melhor por Robério)

5. Kernel Linux: A camada do Kernel é baseada em um Kernel Linux versão 2.6. Esta camada também atua como responsável pela abstração entre o hardware e os aplicativos e responsável pelos principais serviços do sistema como gerenciamento de memória e de processos. Várias funções do kernel são utilizadas diretamente pelo Android, mas muitas modificações foram feitas para otimizar memória e tempo de processamento das aplicações. Essas alterações incluem device drivers novos, adições no sistema de gerenciamento de energia e um sistema que permite finalizar processos de maneira criteriosa quando há pouca memória disponível. O Kernel Linux 2.6 foi escolhido por já conter uma grande quantidade de device drivers sólidos e por ter um bom gerenciamento de memória e processos.

CONCEITO DE APLICAÇÃO

Como dito anteriormente o desenvolvimento de aplicativos se da na linguagem Java. Quando o código Java é compilado para plataforma Android, é feita uma conversão de bytecod (.class) para Dalvik Executable (.dex) e logo após é criado um arquivo Android Package File (.apk) que é composto pelo arquivo .dex e outros arquivos dependentes, como imagens e arquivos XML.(Extensible Markup Language). Esse arquivo é o veiculo de distribuição para que usuários possam instalar uma aplicação em seu dispositivo. No entanto, o desenvolvedor não precisa se preocupar com estas conversões, pois a IDE (Integrated Development Environment) se encarrega deste serviço. Todo arquivo .apk contem um manifesto aonde são declarados todos os componentes da aplicação. Esse arquivo de manifesto é estruturado na linguagem XML, e também contem a especificação das bibliotecas usadas, permissões, versão e requisitos. Por padrão, cada aplicação é executada em um processo próprio e cada processo tem sua máquina virtual. Toda aplicação é referenciada por um ID de usuário Linux. Uma aplicação não tem um único ponto de entrada e são construídas utilizando componentes que somente são instanciados no momento em que se tornam necessário. Existem quatro tipos de componentes básicos: atividades, serviços, provedores de conteúdo e receptores de broadcast.

Uma atividade corresponde à interface com o usuário. Um serviço não possui uma interface visual, pois são utilizados para executar processamentos em segundo plano. Os provedores de conteúdo têm como função disponibilizar dados específicos de uma aplicação para outras aplicações. Por ultimo, os receptores de broadcast são componentes que ficam inativos e respondem a eventos. Todos os componentes são ativados através de mensagens assíncronas, exceto os provedores de conteúdo. Intent é o nome de um objetoque é responsável por conter uma mensagem com uma ação que se deseja executar.

Para iniciar uma atividade é necessário enviar um intent cujo conteúdo especifique essa intenção. Existem dois tipos de intent: explícitos e implícitos. No primeiro, o componente que deve ser executado já é definido explicitamente. No segundo, a escolha do componente é feita pelo sistema operacional que, baseado em alguns critérios, determina qual componente responde melhor àquela intenção naquele momento. Quando um componente é executado, um processo com uma única thread é inciado. Todos os componentes de uma aplicação serão executadas nessa thread. O sistema pode destruir processos caso a memória

...

Baixar como (para membros premium)  txt (22.2 Kb)  
Continuar por mais 13 páginas »
Disponível apenas no TrabalhosGratuitos.com