Buscar

TrabalhoFinal-Android

Prévia do material em texto

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS 
DE SERGIPE – FANESE 
 
 
 
 
 
 
 
 
 
 
 
 
 
JACQUELINE DE SÁ CORREIA 
LEANDRO DE JESUS OLIVEIRA 
WANICLAY TENÓRIO DOS SANTOS 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ANDROID 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Aracaju – Sergipe 
2014.2 
 
 
SUMÁRIO 
 
1 Introdução ..................................................................................................................... 3 
1.1 Objetivos .................................................................................................................... 3 
2 História do Android ...................................................................................................... 3 
3 Arquitetura .................................................................................................................... 3 
3.1 Linux Kernel .............................................................................................................. 4 
3.2 Runtime Android ....................................................................................................... 4 
3.2.1 Bibliotecas e suas Funções ..................................................................................... 5 
3.2.2 Ambiente de Aplicação ........................................................................................... 5 
3.2.3 Aplicações ............................................................................................................... 6 
3.2.4 Instalar Aplicações: Google Play ........................................................................... 6 
4 A Evolução do Android ................................................................................................ 7 
5 Android Desenvolvedores ............................................................................................ 8 
6 Manual de instalação para desenvolvimento no eclipse .............................................. 8 
7 Java x Android ............................................................................................................. 11 
8 Ambiente de Desenvolvimento....................................................................................13 
9 Escalonamento de Processos.......................................................................................14 
10 Referencias bibliográficas ......................................................................................... 15
 
1 INTRODUÇÃO 
 O Android é um sistema operacional open source sua plataforma 
software é baseado no núcleo Linux. Foi desenvolvido para dispositivos móveis 
e possui uma interface amigável e fácil de usar cujas principais utilidades são: 
Chamadas, mensagens, navegador, músicas e jogos. 
 Graças a essa aplicação podemos navegar na internet, acessar email, 
ler livros, jogar, envio e recebimento de mensagens instantâneas pelo bate-
papo e acessar conteúdo multimídia. 
 Usa-se também em tablets, netbooks e até mesmo PC. O Android 
permite programar em um ambiente de trabalho (framework) de aplicativos 
Java em uma máquina virtual Dalvik (uma variação da máquina com Java 
Runtime compilação). O que diferencia de outros sistemas operacionais, pois 
permite criar novas aplicações, widgets1 ou modificá-las. 
1.1 OBJETIVOS 
Entender a arquitetura baseada em camadas da plataforma Android 
Enumerar as características mais importantes de cada uma das camadas 
Conhecer a evolução do Android. 
2 HISTÓRIA DO ANDROID 
 O sistema operacional Android foi idealizado em outubro de 2003 por 
Andy Rubin co-fundador da Android Inc., uma pequena empresa em Palo Alto 
Califórnia, USA. EM Outubro de 2005 foi comprado pela o Google que 
desenvolveu uma plataforma de telefone móvel baseado no Linux com o 
objetivo de ser uma plataforma flexível, aberta e de fácil migração para os 
fabricantes. Neste momento 80% dos telefones imóveis inteligentes usam o 
android. Isto quer dizer que é uma modalidade que permite os usuários criar 
livremente várias aplicações, expandi-los e instalá-los nos telefones 
inteligentes. Android é o líder isolado do mercado brasileiro de Smartphones. 
As aplicações móveis estão especialmente para aparelhos portáteis existem 
versões gratuitas e pagas. Inicialmente as aplicações tinham funções 
puramente recreativas, atualmente existem aplicações mais úteis. 
3 ARQUITETURA 
 É muito importante conhecer como funciona o Android internamente para 
entender suas capacidades e suas limitações, dessa forma o programador 
saberá usufruir de todos os recursos disponíveis nas camadas dessa 
aplicação. 
Características mais importantes: 
Está formada em quatro camadas todas elas baseadas em software livre. 
 
Figura 1: (fonte: http://www.mobiltec.com.br/blog/index.php/desenvolvimento-
mobile-nas-plataformas-android-e-ios/). 
 O gráfico acima mostra a arquitetura do Android. Como pode ser visto 
que é constituído por quatro camadas. Uma das características mais 
importantes é que todas as camadas são baseadas em open source. 
3.1 LINUX KERNEL 
 O núcleo do sistema é uma camada na versão 2.6. Esta camada fornece 
serviços como segurança, gerenciamento de memória, de vários segmentos, a 
pilha de protocolos e suporte de drives para dispositivos e atua como uma 
camada de abstração entre o modelo de hardware e o resto da pilha. Portanto, 
é o único que depende do hardware. 
3.2 RUNTIME ANDROID 
 Baseado no conceito de máquina virtual utilizado em Java. Inclui 
bibliotecas centrais com a maioria das disponibilidades na linguagem em Java 
e na máquina virtual Dalvik. Cada aplicação ocorre no seu próprio processo e 
na sua própria instancia na máquina virtual Dalvik. Ao invés de (.class), 
executam ficheiros (.dex), formato utilizado para economizar memória. Destina 
ao do kernel do Linux algumas funções, como: Threading e gerenciamento de 
memória baixa. 
 Também estão incluídas no Runtime Android as bibliotecas "núcleo", 
com a maior parte das bibliotecas disponíveis em Java. 
3.2.1 BIBLIOTECAS E SUAS FUNÇÕES 
 Existe um conjunto de bibliotecas de C/C ++ usado em vários 
componentes do Android, que são compilados em processador em (NDK), ou 
seja, código nativos. Muitas bibliotecas usam projetos de código aberto. Entre 
elas estão: 
� Sistema C biblioteca: uma derivação da biblioteca padrão BSD C (libc), 
adequado para dispositivos embarcados baseados em Linux. 
� Media Framework: baseado em Open CORE da PacketVideo 
Vendedor; codecs suportar a reprodução e gravação de vários formatos de 
áudio e vídeo e imagens MPEG4, H.264, MP3, AAC, AMR, JPG e PNG. 
� Superfície Representante: gerencia o acesso ao subsistema de 
gráficos em 2D e 3D. 
� Web Kit: suporta navegador Web moderno usado no navegador e na 
visão Webview Android. Esta é a mesma biblioteca que usa o Google Chrome 
e Apple Safari. 
� SGL: 2D motor gráfico. 
� 3D bibliotecas: Implementação baseada em OpenGL ES 1.0 API. As 
bibliotecas que usar o acelerador de hardware 3D, se disponível, ou altamente 
otimizado software de projeção 3D. 
� Free Type: fontes em bitmap e renderização de vetores. 
� SQLite: Motor de banco de dados relacionados disponíveis para todas 
as aplicações. 
� SSL: Fornece serviços de criptografia Secure Socket Layer. 
3.2.2 AMBIENTE DE APLICAÇÃO 
 Proporciona uma plataforma de desenvolvimento livre para aplicativos 
ricos com funções inovadoras (sensores, localização, serviços, barra de 
notificação). 
 Esta camada foi projetada para simplificar a reutilização de 
componentes. Os aplicativos podem publicar as suas capacidades e os outros 
podem fazer uso deles (sujeito a restrições de segurança). O mesmo 
mecanismo permite aos utilizadores substituir componentes. 
 Um dos pontos fortes do ambiente de aplicativos Android é a linguagem 
de programação Java.O SDK do Android não chega a oferecer tudo que está 
disponível para a implementação padrão de ambiente Java (JRE), mas é 
compatível com uma fração significativa dos mesmos. 
 Os serviços mais importantes incluídos são: 
� Visualizações: extenso conjunto de pontos de vista (parte visual dos 
componentes). 
� Provedores de Conteúdo: Fácil acesso a dados de outros aplicativos 
(como contatos) mecanismo. 
� Resource Manager: fornece acesso a recursos que não estão no 
código. 
� Activity Manager: gerencia o ciclo de vida de aplicações e fornece uma 
navegação entre eles. 
� Notification Manager: permite que os aplicativos para exibir alertas da 
barra de status personalizados. 
3.2.3 APLICAÇÕES 
 Este nível é constituído de um conjunto de aplicativos instalados em uma 
máquina Android, (Início, telefone, contatos e navegador). Todos os aplicativos 
devem ser executados na máquina virtual Dalvik para garantir a segurança do 
sistema. 
 Normalmente os aplicativos do Android são escritos em Java. Para 
desenvolver aplicativos em Java, podemos usar o SDK do Android. Não há 
outra opção que envolve o desenvolvimento de aplicativos utilizando C/C ++. 
Para esta opção, podemos usar o NDK Android (Kit de Desenvolvimento 
Nativo). 
3.2.4 INSTALAR APLICAÇÕES: GOOGLE PLAY 
 Por ser livre e de código aberto, o Android tem um monte de 
desenvolvedores de aplicativos. Na verdade, qualquer pessoa com 
conhecimentos de programação e curiosidade pode começar a desenvolver 
aplicações. Podemos ver as aplicações disponíveis na Google Play Store. Você 
pode acessá-lo a partir do telefone, tablets e PC, a imagem corresponde ao 
último caso. 
 
 
Figura 2: Página do GooglePlay 
4 A EVOLUÇÃO DO ANDROID 
 
 
Versão 1.0 - Setembro de 2008 
� Praticamente restrito aos usuários do G1 
� Adição do Voice Search e Google Latitude 
� Correção de bugs 
 
 
Versão 1.5 (Cupcake) - Abril de 2009 
� Suporte a gravação de vídeo 
� Teclado virtual 
� Suporte a AD2P 
� Widgets e transições entre as telas 
 
 
Versão 1.6 (Donut) - Setembro de 2009 
� Melhorias no Android Market 
� Interfaces novas para os aplicativos de 
� Câmera, fotos e vídeos 
 
 
 Versão 2.0/2.1 (Eclair) - Janeiro de 2010 
� Melhorias na interface gráficas 
� Suporte a multi-touch e Live Wallpapers 
 
 
 
 Versão 2.2 (Froyo) - Maio de 2010 
� Implementação do Just In Time (JIT) 
� Suporte a USB Thetering e WiFi Hot spot 
� Possibilidade de instalar aplicativos no 
� Cartão SD 
 
 
Versão 2.3 (Gingerbread) - Dezembro de 2010 
� Melhorias na interface gráfica e no teclado virtual 
� Suporte nativo ao protocolo SIP 
� Suporte a Near Field Communication (NFC) 
 
 
Versão 3.0/3.1 (Honeycomb) - Janeiro de 2011 
� Versão exclusiva para tablets 
� Suporte a processadores multi-core 
� Suporte a aceleração gráfica por hardware 
 
 Versão 4.0 (Ice Cream Sandwich) - Outubro de 2012 
� Sistema operacional único para tablets e Smartphones. 
 
 
 Versão 4.1 (Jelly Bean) - Julho de 2012 
� Página olhar dinâmico, linha de raciocínio, tela de bloqueio 
� Redimensionamento automático e melhor desempenho. 
 
 
 
 
 Versão 4.4 (Kit Kat) - Outubro de 2013 
� Sistema operacional 4.4-r1 x86 foi anunciada nessa semana pelo 
grupo de desenvolvedores que fizeram a adaptação do SO para 
PCs. 
 
5 ANDROID DESENVOLVEDORES 
 Para programar aplicações, é necessário ter conhecimento de Java e 
programação orientada a objetos. 
A partir do site Android Developers pode baixar as ferramentas necessárias 
para começar. Basicamente, precisa do SDK Android com todas as bibliotecas 
e emulador necessárias. 
 O ambiente de desenvolvimento é integrado à plataforma Eclipse é 
gratuito, ao criar uma aplicação pode-se enviá-la para o Google Play. 
6 MANUAL DE INSTALAÇÃO PARA DESENVOLVIMENTO NO 
ECLIPSE 
1º Passo 
 Antes de tudo é necessário instalar o JDK que nada mais é do que um 
ambiente de desenvolvimento para a criação de aplicativos, applets e 
componentes utilizando a linguagem de programação Java. 
 Link para download do JDK: 
http://www.oracle.com/technetwork/pt/java/javase/downloads/index.html 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2º Passo 
 No site abaixo na aba desenvolvedores é possível encontrar o eclipse 
para download: 
http://www.android.com/ 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3º Passo 
 Após o download não é preciso instalar o eclipse ADT ele já vem 
configurado com todas as ferramentas prontas para desenvolver basta executar 
o eclipse e mãos a obra 
 
 
 
 
7 JAVA X ANDROID 
� Código Java compila para bytecode JVM 
� Android compila código para Davilk opcode 
 
Desenvolvimento para Android 
 
Um aplicativo Android consiste em uma ou mais das classificações a 
seguir: 
 
Atividades: 
Um aplicativo que possui uma UI visível é implementado com uma atividade. 
Quando um usuário seleciona um aplicativo da tela inicial ou de um ativador de 
aplicativo, uma atividade é iniciada. 
 
Serviços 
Um serviço deve ser utilizado para qualquer aplicativo que precise persistir por 
um longo período de tempo, como um monitor de rede ou um aplicativo de 
verificação de atualização. 
 
Outras Classificações: Provedores de conteúdo, Receptores de transmissão 
 
Ferramentas Necessárias: 
� Android SDK 
� IDE 
� O desenvolvimento do Android pode acontecer no Microsoft® 
Windows®, Mac OS X ou Linux. 
� Android SDK: 
� O Android SDK é distribuído como um arquivo zip. 
� O SDK inclui: 
� android.jar: 
� O arquivo Java archive contendo todas as classes do Android SDK 
necessárias para a construção do seu aplicativo. 
 
Documention.html e diretório de documentos: A documentação do 
SDK é fornecida localmente e na Web. Ela tem, em grande parte, forma 
de JavaDocs, facilitando a navegação em vários pacotes no SDK. A 
documentação também inclui um Guia de Desenvolvimento de alto nível 
e links para a comunidade mais ampla do Android. 
Android SDK: 
� O SDK inclui: 
 
Diretório de amostras: O subdiretório de amostras contém código de 
origem completo para uma variedade de aplicativos 
 
Diretório de ferramentas: 
Contém todas as ferramentas de linha de comando para construir 
aplicativos Android. 
 
usb_driver 
Diretório contendo os drivers necessários para conectar o ambiente de 
desenvolvimento a um dispositivo ativado por Android. 
 
Os aplicativos Android podem ser executados em um dispositivo real ou 
no Android Emulador, que é fornecido com o Android SDK. 
 
 
 
Figura 3: (fonte: http://www.androidforpc1.com/android-for-pc/). 
 
 
 
 
Android Emulador 
Figura 4: (fonte: http://www.android.pk/blog/general/how-to-install-apk-files-on-
android-emulator/). 
 
8 AMBIENTE DE DESENVOLVIMENTO 
 
 
 
 
9 ESCALONAMENTO DE PROCESSOS 
 
Segundo, Nogueira Rodrigo Baseado em Linux, o Android utiliza um 
algoritmo preemptivo, que divide o tempo da CPU em fatias, chamadas de 
quantum, onde os processos são alocados. Se o quantum do processo 
terminar e o processo não tiver concluído sua execução ocorre a troca de 
contexto e um novo processo é selecionado para utilizar a CPU.O escalonador 
trabalha com prioridades estáticas e dinâmicas. Nas prioridades dinâmicas o 
escalonador monitora os processos faz ajustes nas prioridades, visando 
equilibrar o uso da CPU, por exemplo, se um processo esteve recentemente 
em execução, ou executou por um tempo “longo”, esse processo recebe 
prioridade mais baixa que outro processo que esta há mais tempo esperando 
pela CPU. E as prioridades estáticas são utilizadas exclusivamente por 
processos de tempo real, oescalonador não pode alterar essas prioridades, 
elas podem ser alteradas somente por um usuário com privilégios especiais. O 
escalonador executa os processos com prioridades dinâmicas somente quando 
não houver mais processos de tempo real. No gerenciamento de processos é 
aplicada a política FIFO, para os processos de tempo real, Round - Robin para 
processos de usuários. 
 
Característica do escalonador do sistema Android é a existência de 
prioridades dinâmicas, como o formato dos dados a transferir, o sincronismo 
exigido nas comunicações, a necessidade de buffers e o número de 
emissores/receptores envolvidos em cada ação de comunicação. As próximas 
seções analisam alguns dos principais aspectos que caracterizam e distinguem 
entre si os vários mecanismos de comunicação direta ou indireta: De forma 
mais abstrata, a comunicação entre tarefas pode ser implementada por duas 
primitivas básicas: enviar (dados, destino), que envia os dados relacionados ao 
destino indicado, e receber (dados, origem), que recebe os dados previamente 
enviados pela origem indicada. Essa abordagem, na qual o emissor identifica 
claramente o receptor e vice-versa, é denominada comunicação direta. 
10 REFERENCIA BIBLIOGRÁFICA 
 
Bucco, Rafael Android está em 89% dos Smartphones do Brasil. 
Disponível em: 
http://www.telesintese.com.br/android-esta-em-89-dos-smartphones-brasil/ 
 
Nogueira, Rodrigo 
Disponível em: 
http://www.trabalhosfeitos.com/ensaios/Trabalho-Sobre-Android/254563.html 
 
http://developer.android.com/about 
 
http://www.centralandroid.com.br/o-que-e-o-android-e-sua-evolucao 
 
http://pt.wikipedia.org/wiki/Android 
 
http://www.ibm.com/developerworks/br/library/os-android-devel/ 
 
http://www.zdnet.com/blog/burnette/java-vs-android-apis/504 
 
 
(Acesso em 01/09/2014).

Continue navegando