Android

Categories: Trabalhos

0

dnel (Linux 2. 6) 10 CAPÍTULO III – INTRODUÇÃO À PROGRAMAÇÃO NO ANDROID. 1 1 111. 1 – Um pouco mais sobre a máquina virtual Dalvik 1 1 111. 2 – Ferramentas Necessárias 11 111. 3 – Codificando um Aplicativo Básico 14 Conclusão. 18 REFERÊNCIAS BIBLIOGRÁFICAS 19 INTRODUÇÃO Com o grande avanço da tecnologia, os dispositivos móveis estão se tornando mais poderosos com relação às suas capacidades de armazenamento, de processamento e de comunicação, e mais acessíveis aos c 1 bilhões de televis pessoas têm acesso possuem um disposi mais promissores do or16 to view tempo.

Hoje, há o que 1 bilhão de bilhões de pessoas um dos produtos ispositivos moveis, estão incluídos handhelds, PDAs e telefones celulares. Os dispositivos móveis oferecem conectivade e poder de uso a qualquer lugar e em qualquer momento, tornando-se importantes, tanto para uso pessoal, quanto profissional. Com o uso cada vez maior de dispositivos móveis, o número de plataformas e ambientes de desenvolvimento cresceu proporcionalmente.

A escolha de uma plataforma ideal para o desenvolvimento de um projeto significa optar por uma solução que forneça os melhores benefícios, em termos de custos, eficiência e tempo de esenvolvimento esperados para a finalização do projeto. Sendo assim, a presente monografia tem como objetivo fazer uma explanação sobre duas plataformas de desenvolvimento de aplicações para dispositivos móveis: o Android, lançado pela Open Handset Alliance. de novembro de 2007, o OHA (Open Handset Alliance) anunciou a plataforma Android [3]. O Open Handset Alliance é um grupo de mais de 30 empresas que está desenvolvendo essa plataforma.

As empresas dessa allança estão trabalhando juntas para oferecer uma plataforma de desenvolvimento que permita aos desenvolvedores implementarem e extenderem as aplicações os seus dispositivos móveis. Essa aliança tem como objetivo também lançar handsets e serviços usando a plataforma Android no segundo semestre de 2008. A aliança OHA é composta por um grupo bastante heterogêneo de empresas, que compreende desde operadoras de celular a fabricantes de handsets. Dessa aliança, fazem parte: Operadoras de celular: ‘k Companhias de semicondutores: * Fabricantes de handset: * Companhias de software: 1. – DEFINIÇÃO Android é uma pilha de softwares para dispositivos móveis que inclui um sistema operacional, um middleware e um conjunto de aplicações chaves. Os desenvolvedores podem criar aplicações para a plataforma usando o Android SDK. As aplicações para essa plataforma são escritas usando a linguagem de programação Java e executam sobre o Dalvik, uma máquina virtual customizada para dispositivos com restrições de recursos, como pouca capacidade computacional, baixa capacidade de armazenamento e baterias com baixo nivel de energia.

CAPÍTULO II – ARQUITETURA ANDROID 11. 1 – Ap icativos inclui funções ricas. O subsistema da Ul inclui: * Janelas * Visualizações Widgets para a exibição de elementos comuns como caixas de edição, listas e listas suspensas O Android inclui um navegador incorporável baseado em WebKit, o mesmo mecanismo navegador de software livre equipando o navegador Mobile Safari do iPhone. O Android ostenta uma rica array de opções de conectividade, incluindo WiFi, Bluetooth e dados wireless através de uma conexão celular (por exemplo, GPRS, EDGE e 3G).

Uma técnica popular em aplicativos Android é estabelecer um link com o Google Maps para exiblr um endereço diretamente em um aplicativo. O suporte para serviços baseados em locais (como GPS) e acelerômetros também está disponível na pilha de software Android, embora nem todos os dispositivos Android ejam equipados com o hardware necessário. Existe também suporte para câmera. Historicamente, duas áreas onde aplicações móveis lutaram para acompanhar suas contrapartes de desktop são gráfico/mídia e métodos de armazenamento de dados.

O Android aborda o desafio dos gráficos com suporte integrado para gráficos em 2-D e 3-0, incluindo a biblioteca OpenGL. O peso do armazenamento de dados é amenizado porque a plataforma Android inclui o banco de dados SQLite de software livre popular. A Figura 1 mostra uma visualização simplificada das camadas do software Android. Figura 1 . Camadas do Software Android 1. 2 – Arquitetura do Aplicatlvo Conforme mencionado, o Android é executado sobre um kernel Linux. Os aplicativos Android são gravados na linguagem de programação Java e são executados em uma máquina virtual (VM). ? importante observ ao é uma JVM, 16 são executados em uma máquina virtual (VM). É importante observar que a VM não é uma JVM, como você pode esperar, mas é uma Dalvik Virtual Machine, uma tecnologia de software livre. Cada aplicativo Android é executado em uma instância da Dalvik VM, que, por sua vez, reside em um processo gerenciado por kernel Linux, conforme mostrado abaixo. Figura 2. Dalvik VM Um aplicativo Android consiste em uma ou mais das classificações a seguir: * Atividades Um aplicativo que possui uma Ul vislVel é 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. * Provedores de conteúdo Você pode pensar em provedores de conteúdo como um servidor e banco de dados. O trabalho de um provedor de conteúdo é gerenciar o acesso aos dados que persistem, como um banco de dados SQLite.

Se seu aplicativo for muito simples, você nao precisa necessariamente criar um provedor de conteúdo. Se estiver construindo um aplicativo maior, ou um que disponibilize dados para várias atividades ou aplicativos, um provedor de conteúdo será o meio de você acessar seus dados. * Receptores de transmissão Um aplicativo Android pode ser ativado para processar um elemento de dados ou para responder a um evento, como o recebimento de uma mensagem de texto. Um aplicativo Android, junto com um arquivo chamado AndroidManifest. xml, é implementado em um dispositivo. O AndroidManifest. ml cont Çdes d AndroidManifest. xml contém as informações de configuração necessárias para você instalá-lo corretamente no dispositivo. Ele inclul os nomes de classes necessários e os tipos de eventos que o aplicativo está pronto para processar, além das permissões necessárias que o aplicativo precisa para execução. por exemplo, se um aplicativo exigir acesso à rede — para fazer o download de um arquivo, por exemplo — essa permissão deve ser declarada xplicitamente no arquivo de manifesto. Muitos aplicativos podem ter essa permissão especifica ativada.

Tal segurança declarativa ajuda a reduzir a probabilidade de um aplicativo perigoso causar danos em seu dispositivo. A próxima seção discute o ambiente de desenvolvimento necessário para a construção de um aplicativo Android. 11. 3 – Framework de aplicaçao O framework para aplicações Android [I] tem as mesmas APIS que as aplicações chave do Android. Este framework foi criado para facilitar a vida dos programadores, simplificar o reuso de componentes e abstrair boa parte dos procedimentos ecessários para se fazer uma aplicação funcionar. ma grande vantagem do framework de aplicação do Android é que cada aplicação pode publicar suas capacidades para serem usadas por outras aplicações que estiverem rodando. Entre estas APIs, temos as seguintes: Location Manager Usado em aplicações que precisam saber a posição geográfica do usuário, como por exemplo, GPS e aplicações para verificar o clima e tempo da região. Telephony Manager Camada de abstração para lidar com os servlços de telefonia do celular. Informações sobre a capacidades e restrições do dispositivo podem erviços de telefonia do celular.

Informações sobre a capacidades e restrições do dispositivo podem ser obtidas através desta API. Afinal, um celular ainda serve para fazer ligações. Window Manager Gerente simples que permite criar e obter informações sobre a janela de exibição da aplicação. Content Providers Os Content Providers permitem que uma aplicação torne seus dados públicos, e também que ela acesse dados de outras aplicações. Content Providers são usados em aplicações que, por exemplo, precisam ler o banco de dados de contatos do usuário, ou tabelas criadas por outras aplicações.

Quase todo tipo de dado é compartilhável, como áudio, vídeo, imagens e texto. Resource Manager Todos os recursos de uma aplicação são separados de seu código, como imagens, strings e arquivos XML Esses recursos são otimizados para ocupar menos espaço e demorar menos tempo para carregar. Para facilitar o acesso do desenvolvedor a seus recursos, foi criado o Resource Manager, que permite obter e modificar seus dados externos facilmente. Notification Manager API que permite que as aplicações exibam notificações na tela do dispositivo, ou ativar LEDs, luzes ,sons ou vibração.

Activity Manager Cada atividade no sistema é gerenciada através de uma pilha de atividades, quando uma nova é criada, esta vai para o topo da pilha e se torna a running activity. As atividades tem 4 estados básicos: Ativa: se ela está na camada principal da tela. Pausada: se ainda é visível mas não está selecionada (background). Uma atividade pausada continua viva, mas em casos extremos pode ser finalizada pelo sistema. parada: se não e mais wsível (esta coberta por outra aplicação). Suas in PAGF pelo sistema.

Parada: se não e mais visível (esta coberta por outra aplicação). Suas informações e estados são mantidos, mas são frequentemente terminadas em caso de necessidade de memória. Inativa: quando uma atividade estiver pausada ou parada, esta pode ser terminada pelo sistema, e caso o usuário a queira ativar novamente, ela deve ser carregada e seu estado anterior deve ser restaurado. Figura 2: O ciclo de vida de uma activity 11. 4 – Bibliotecas Andróide inclui um conjunto de C/ C + + bibliotecas usadas por diversos componentes do sistema android.

Estas capacidades são expostos a desenvolvedores através da aplicação android quadroAlguns dos principais bibliotecas estão listados abaixo: Sistema biblioteca C- um BSD-derivadas da aplicação do sistema de biblioteca padrão C (libc), sintonizado embutido para dispositivos baseados em Linux Media Bibliotecas – baseado em packetVideo’s OpenCORE; as bibliotecas apoio reprodução e gravação de muitos populares formatos de áudio e vídeo, bem como imagem estética arquivos, incluindo MPEG4, H. 64, MP3, AAC, AMR, JPG, PNG e * Gerente de superfície – gere o acesso ao display subsistema e sem problemas compósitos gráficos 2D e 3D a partir de camadas múltiplas aplicações * LibWebCore – um navegador moderno motor que tanto os oderes android e um navegador web embutido vista SGL – o motor de gráficos 20 subjacentes * 3D bibliotecas – uma aplicação baseada em OpenGL ES 1,0 APIs; as bibliotecas usar tanto hardware aceleração 3D (quando disponível) ou o incluído, altamente otimizado software 3D rasterizer * Freetype – bitmap e ve nderizaçao software 3D rasterizer * Freetype – bitmap e vetoriais font renderização * SQLite — um poderoso motor de banco de dados relacional e leve à disposição de todos os pedidos. 11. 5 – Android Runtime O Android inclui um grupo de bibliotecas que fornece a maioria as 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ánas 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. O Dalvik VM baseia-se no kernel do Linux para funcionalidades subjacentes como o encadeamento e a gestão de baixo nível de 1. 5 – Kernel (Linux 2. 6) O Android é baseado no Kernel 2. 6 do Linux, mas não é Linux! Várias funções do Kernel são utilizadas diretamente pelo Android, mas várias modificações foram feitas para otimizar a memória e tempo de processamento das aplicaçóes .

Linux foi escolhido por já ter uma boa quantidade de device drivers sólidos, além de bons sistemas de gerenciamento de memória e processos, que são utilizados pelo Android. Além destas funções, o Kernel também é usado para cudar de alguns serviços de segurança e rede, e serve como uma camada de abstração entre o software, o hardware. O desenvolvedor de aplicações não irá programar nesta camada do Android, e só fará uso indireto do Kernel através de APIS de níveis superiores. indireto do Kernel através de APIS de níveis superiores. CAPÍTULO III – INTRODUÇÃO À PROGRAMAÇÃO NO ANDROID A linguagem utilizada para desenvolvimento no Android é Java, as aplicações escritas em Java são compiladas em bytecodes Dalvik e executadas usando a Máquina virtual Dalvik.

Essa máquina virtual é especialmente desenvolvida para uso em dispositivos móveis e é exclusiva do Android, isso permite que rogramas sejam distribuídos em formato binário (bytecode) e possam ser executados em qualquer dispositivo Android, independentemente do processador utilizado. Apesar das aplicações Android serem escritas na Ilnguagem Java, ela não é uma máquina virtual Java, já que não executa bytecode JVM. Bytecode: Em ciência da computação, bytecode (traduzindo ao pé da letra, código em bytes — nao confundir com código-máquina) é o resultado de um processo semelhante ao dos compiladores de código-fonte que não é imediatamente executável. Em oposição, o bytecode irá ser interpretado numa máquina virtual, ue fará a execução.

Assim, o bytecode é um estágio intermédio entre o código-fonte (escrito numa linguagem de programação especifica) e a aplicação final, sendo a sua vantagem principal a dualidade entre a portabilidade — o bytecode irá produzir o mesmo resultado em qualquer arquitectura — e a ausência da necessidade do pré-processamento típico dos compiladores — o bytecode é encarado como um produto final, cuja validação da sintaxe e tipos de dados (entre outras funções dos compiladores) nao será necessária. 111. 1 – Um pouco mais sobre a máquina virtual Dalvik A Dalvik virtual machine é uma máquina virtual baseada em registradores, projetada e escrita por virtual machine é uma máquina virtual baseada em registradores, projetada e escrita por Dan Bornstein com contribuições de outros engenheiros do Google como parte da plataforma Android para telefones celulares.

Ela é otimizada para requerer pouca memória, e é projetada para permitir que múltiplas instâncias da máquina virtual rodem ao mesmo tempo, deixando para o sistema operacional o isolamento de processos, o gerenciamento de memória e o suporte a threading. A Dalvik é freqüentemante referenciada omo uma Máquina virtual Java, mais isso não é estritamente exato, devido ao bytecode que ela opera não ser o bytecode da JVM. Ao invés, uma ferramanta chamada dx, incluída no SDK Android, transforma os arqulvos . class de uma classe compilada por um compilador java comum para a JVM em outro formato especifico de classe (o formato . dex). A máquina virtual Dalvik foi assim batizada por Bornstein em homenagem à vila de pescadores de Dalvík em EyjafJõraur, Islândia, onde alguns de seus antepassados viveram. 111. – Ferramentas Necessárias A maneira mais fácil para você começar a desenvolver aplicativos Android é fazer o download do Android SDK e do IDE do Eclipse (consulte Recursos). O desenvolvimento do Android pode acontecer no [email protected] [email protected], Mac OS X ou Linux. A codificação na linguagem Java dentro do Eclipse é bastante intuitiva; o Eclipse fornece um ambiente Java rico, incluindo ajuda sensível ao contexto e sugestões de códigos. Apás seu código Java ser claramente compilado, o Android Developer Tools se certifica de que o aplicativo esteja empacotado corretamente, inclulndo o arquivo AndroidManifest. xml. É possível desenvolver aplicativos Android

Geração de valor nas empresas

0

ESTRATÉGIAS ASSOCIADAS AOS PLANOS DE PARTICIPAÇÃO NOS LUCROS E RESULTADOS PARA GERAÇAO DE VALOR PARA AS EMPRESAS TRACK: Organizational Behavior

Read More

Entrevista de um empresario

0

Curso de administração Bacharelado em administração Tema: fundamentos em administração Trabalho em grupo Integrantes: Professores: or2B to view nut*ge Introdução:

Read More