Baixe o app para aproveitar ainda mais
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).
Compartilhar