• Nenhum resultado encontrado

3.5 ANDROID

3.5.2 Arquitetura do Android

Segundo pode ser visto em ANDROID (2016b), a arquitetura da plataforma possui em seu nível mais baixo e mais perto do hardware, que inclusive é quem gerencia o mesmo, o Linux kernel. É ele quem está por trás do funcionamento do Android. Esse Kernel fornece os drives para a comunicação com o hardware, como por exemplo os drivers para comunicação com a câmera, com o teclado e com o autofalante. Ele também realiza o gerenciamento de processos, Threads e de memória. O Android é uma plataforma que executa sobre o sistema operacional Linux. Existem muitas praticidades na utilização de um sistema operacional open source como o Linux, uma delas é o fato de sua gratuidade, outras são questões como o a praticidade de já se ter o gerenciamento de memória, processos, threads, segurança implementados e gerenciados. Dessa forma tira-se proveito inclusive da questão da

possibilidade de execução em multitarefa. A Figura 4 abaixo exibe todas as peças da arquitetura:

Figura 4 - Arquitetura da plataforma Android

Acima e em conjunto com o kernel do Linux existe a HAL13(Hardware Abstraction Layer). Esta camada é composta por vários módulos e interfaces que fornecem a capacidade de interação com uma linguagem de alto nível como o Java.

Logo acima da camada HAL, existem as bibliotecas que são nativas da plataforma Android e que são escritas normalmente na linguagem C ou C++. São elas que se comunicam com a camada HAL. Essas bibliotecas geralmente proveem funcionalidades como o suporte ao SQLite, ao motor de renderização de imagens 2D e imagens 3D, renderização de páginas WEB, entre outros.

Ao lado existe na estrutura da plataforma o Android Runtime que é composto pelas Core Libraries juntamente com a máquina virtual do Android. As Core Libraries são as responsáveis por disponibilizar ao desenvolvedor tudo que é utilizável pelo Java SE. A ART (Android Runtime) é a máquina virtual do Android utilizada para a execução dos aplicativos. Como os aplicativos são desenvolvidos e compilados em Java eles precisam de uma máquina virtual para poderem ser interpretados.

Até a versão 4.4 do Android uma outra máquina virtual era utilizada pelo Android, a Dalvick, esta era a máquina virtual padrão, porém o Android fornecia ao usuário a possibilidade de experimentar a ART que nesta versão era opcional (HAMANN, 2016). A partir da versão 5.0 a máquina virtual padrão tornou-se a ART.

Esta máquina virtual ART foi desenvolvida tendo como propósito melhorar a performance dos aplicativos na plataforma Android. Ela é capaz de executar os aplicativos mais rapidamente, pois em vez de trabalhar com o sistema “Just-in-Time” do Dalvik, é realizada uma compilação a frente do tempo. Os códigos são pré- compilados na linguagem de execução já durante a instalação dos aplicativos. Isso significa que a instalação dos softwares pode ser mais demorada, mas também representa mais rapidez na sua execução justamente pelo fato de a virtualização já ter acontecido e ter sido gravada na memória do dispositivo.

Diferentemente da máquina utilizada anteriormente, a Dalvick, a ART foi criada especificamente para o Android e para esse tipo de contexto.

A máquina Virtual do atual do Android não executa arquivos em formato bytecode com a extensão .class, assim como a JVM(Máquina Virtual do Java) na plataforma Java SE o faz, mas sim um arquivo em um formato .dex (Dalvik Excecutable). Na plataforma Android, o compilador, além de gerar um arquivo em

formato de bytecode e extensão .class, executa um passo a mais utilizando como base esse arquivo para compilá-lo em um novo com formato .dex para que ele então possa ser executado pela ART.

Acima dessas camadas existe o framework de aplicações do Android. Neste framework estão as funcionalidades que vão permitir ao desenvolvedor criar seus aplicativos. Dentre esses frameworks podemos citar o Telefony mananger que disponibiliza a funcionalidade de realizar ligações telefônicas, Resource maneger que permite ao desenvolvedor o acesso a memória interna do dispositivo, além do Location manager que permite a possibilidade a utilização do GPS do dispositivo. Esta parte da plataforma provê todo o gerenciamento do Android pois ela faz a comunicação com as APIs de mais baixo nível da plataforma. Quando um desenvolvedor cria um aplicativo para a plataforma ele utiliza esse framework para tal. Todos os aplicativos nativos do Android também foram criados utilizando esse framework, dessa forma ambos os tipos de aplicações, nativas ou terceiras, estão no mesmo nível e podem ser substituídos sem causar prejuízos à plataforma.

No topo desta estrutura temos a camada de aplicações onde ficam as aplicações do Android, tanto as nativas como o aplicativo de telefonia, de contatos, de mensagens, quanto as aplicações desenvolvidas por terceiros. A plataforma Android percebe as aplicações desenvolvidas por terceiros assim como as nativas da mesma forma. A grande flexibilidade desta plataforma já mencionada anteriormente está no fato de os aplicativos criados pelos desenvolvedores estarem nessa mesma camada das aplicações nativas. Logo é possível desenvolver um aplicativo que substitua outro aplicativo nativo com o objetivo de personalizar toda a interface gráfica do usuário.

4 ESTADO DA ARTE

Neste capítulo são apresentados dois sistemas que foram desenvolvidos focando o mesmo tema do trabalho desenvolvido. A busca pelo estado da arte em localização de estabelecimentos de saúde utilizou-se de vários repositórios de trabalhos acadêmicos na Internet. Para localizá-los mais rapidamente a ferramenta

Google Acadêmico14 foi utilizada. Os resultados obtidos tinham baixa compatibilidade

principalmente pelo fato dos sistemas propostos ou desenvolvidos relatados nos trabalhos serem totalmente dependentes de uma conexão com a internet. Um sistema selecionado por possuir características próximas aos do atual será descrito na sequência. Ele foi selecionado principalmente pelo fato de se utilizar de um aplicativo como ferramenta de busca.

4.1 SISTEMA MÓVEL DE GEOLOCALIZAÇÃO E GEOPROCESSAMENTO PARA

Documentos relacionados