Pontifícia Universidade Católica de Minas Gerais Curso de Ciência da Computação. Android, Arquitetura e Desenvolvimento. Thiago de Souza Passos

Tamanho: px
Começar a partir da página:

Download "Pontifícia Universidade Católica de Minas Gerais Curso de Ciência da Computação. Android, Arquitetura e Desenvolvimento. Thiago de Souza Passos"

Transcrição

1 Pontifícia Universidade Católica de Minas Gerais Curso de Ciência da Computação Android, Arquitetura e Desenvolvimento Thiago de Souza Passos Poços de Caldas Novembro de 2009

2 Thiago de Souza Passos Android, Arquitetura e Desenvolvimento Monografia - 2s/2009 Monografia apresentada ao Curso de Ciência da Computação da Pontifícia Universidade Católica de Minas Gerais (Campus Poços de Caldas) como pré-requisito para a obtenção do título de bacharelado sob a orientação do professor Dr. Udo Fritzke Jr. Poços de Caldas Novembro de 2009

3 FICHA CATALOGRÁFICA ELABORADA PELA BIBLIOTECA DA PUC Minas (Campus Poços de Caldas) c

4 Trabalho apresentado à disciplina de Trabalho de Diplomação da Pontifícia Universidade Católica de Minas Gerais, Poços de Caldas, Prof. Dr. Udo Fritzke Jr (Orientador) PUC Minas Prof. MSc. Fabiano Costa Teixeira PUC Minas Prof. MSc. Paulo Muniz de Ávila PUC Minas

5 Agradecimentos Primeiramente agradeço a Deus. Ele tem me ajudado a superar as dificuldades e tem me abençoado à cada dia. Agradeço também à minha família, que contribuiu de uma maneira especial na minha formação pessoal e me deu a oportunidade de estudar. Nunca faltou nada que eu realmente precisasse. Agradeço aos amigos, com carinho especial pelo Fabrício. Ele me ensinou algunas coisas sobre a vida como por exemplo não reclamar dela. Por fim, gostaria de agradecer o professor Dr. Udo Fritzke Jr. pela confiança e orientação de altíssimo nível. Obrigado a todo o corpo docente pelo ensino e pela amizade. e

6 Epígrafe A maravilhosa disposição e harmonia do universo só pode ter tido origem segundo o plano de um Ser que tudo sabe e tudo pode. Isto fica sendo a minha última e mais elevada descoberta. Isaac Newton f

7 Resumo Este trabalho apresenta a arquitetura da plataforma Android, um sistema operacional aberto e livre para celulares e dispositivos móveis. A necessidade de se ter um sistema operacional aberto e livre é crescente conforme aumenta o número de usuários de celulares pelo mundo. Com o aumento desse numero crescem também as iniciativas no sentido de melhorar o processo de desenvolvimento e, assim, ter um ambiente cada vez mais próximo dos sistemas para desktops. Os programas estão cada vez mais robustos e complexos e é necessário que haja bom entendimento das técnicas e ferramentas disponíveis para tal fim. Esta monografia visa elucidar algumas questões nesse sentido. Apresentadas as características principais da arquitetura será proposta uma aplicação baseada em localização (LBA - Location Based Application) que irá utilizar os conceitos estudados e demonstrar o uso das APIs do Google Maps na plataforma Android.

8 Abstract This technical report presents the architecture of the Android Platform, an opensource and free operational system projected by Google for handsets. The need for a free and open operational system is growing as the number of handsets s users around the world increases. With this increase, grows also the initiatives to improve the development process and in order to an environment ever closer to desktops systems. The softwares are increasingly more robust and complex and it is important the understanding of the techniques and tools available for this purpose. This work aims to clarify some issues in this context. After this, we ll propose an Android Location-based Application witch is gonna use the explicated concepts and show the Maps API s use in the Android platform.

9 Sumário I Introdução ao Android 1 1 Introdução Objetivos Android 4 3 Arquitetura do Sistema Kernel Linux Linux no Android Bibliotecas Bionic Libc Bibliotecas de funções Servidores nativos Bibliotecas de abstração do hardware Android Runtime (Ambiente de execução) Máquina Virtual Dalvik Core Libraries Framework de aplicação Activity Manager Package Manager Telephony Manager i

10 SUMÁRIO ii Content Providers Aplicações Componentes da aplicação Conclusões sobre a arquitetura II Desenvolvimento 24 4 Fundamentos de programação no Android Linguagem e paradigma Distribuição das aplicações Independência e estabilidade Activities Serviços Baseados em Localização Aplicações GPS Mapas Google Maps LBS no Android O pacote Location Aplicação Onde Estou OndeEstou Considerações sobre a aplicação Considerações finais 45 Apêndices 46

11 SUMÁRIO iii A Códigos-fonte 46 A.1 OndeEstou.java A.2 Setup.java A.3 MyProximityAlert.java A.4 AndroidManifest.xml A.5 main.xml B Interface da Aplicação 59 Bibliografia 61

12 Lista de Figuras 3.1 Arquitetura do Sistema (fonte: Application Fundamentals) Kernel Linux Bibliotecas Camada de abstração de hardware Android Runtime Framework de aplicação Applicações Ciclo de vida de uma activity (fonte: Activity Android Developers) Super classes de Activity B.1 Interface da Aplicação Onde estou iv

13 Códigos-fonte 4.1 Principais métodos da classe Activity A.1 Classe OndeEstou A.2 Classe Setup A.3 Classe MyProximityAlert A.4 Arquivo de configuração da aplicação AndroidManifest.xml A.5 Arquivo de layout main.xml v

14 Lista de Abreviaturas ANATEL - Agência Nacional de Telecomunicações API - Application Programming Interface BSD - Berkeley Software Distribution DVM - Dalvik Virtual Machine FAQ - Frequently Asked Questions GPL - General Public License GPS - Global Positioning System GUI - Graphical User Interface JVM - Java Virtual Machine KML - Keyhole Markup Language LCD - Liquid Crystal Display mp3 - MPEG Layer 3 MPGE - Moving Picture Experts Group PDA - Personal Digital Assitent SDK - Software Development Kit XML - extensible Markup Language

15 Parte I Introdução ao Android 1

16 1 INTRODUÇÃO Os celulares já se consolidaram no meio comercial. Segundo os últimos dados da ANATEL (Agência Nacional de Telocomunicações) há, atualmente, cerca de 166 milhões de celulares habilitados no Brasil todo. Esse crescimento, não só no Brasil mas no mundo inteiro, vem abrindo espaço para pesquisas na área de desenvolvimento para dispositivos móveis. O hardware presente nos celulares e dispositivos móveis em geral teve uma melhora muito significativa nos últimos anos. Além disso, as tecnologias de redes sem fio e internet banda larga tem crescido muito pelo mundo todo e tem proporcionado uma gama de recursos aos dispositivos móveis, recursos estes antes presentes apenas nos desktops. Essa aproximação dos dispositivos móveis em relação aos desktops, não só em termos de hardware, mas também nas tecnologias de banda larga, tem trazido à tona diversas linhas de pesquisa na área de desenvolvimento de software. No desenvolvimento para celulares e dispositivos embarcados em geral é muito importante considerarmos algumas características como por exemplo a capacidade de: a) processamento, b) memória, c) disco (armazenamento), d) bateria, etc. Embora os celulares hoje em dia tenham um alto desempenho no quesito hardware, ainda assim poderíamos dizer que o hardware é muito limitado se comparado aos desktops. Embora essa afirmação seja verdadeira, os softwares cada vez mais tem migrado, ou melhor, tem estado presente também nos dispositivos móveis. Em outras palavras, os softwares que estão rodando atualmente nos desktops (muito mais potentes de que os dispositivos móveis) estão rodando nos celulares também. Assim, nesse contexto, cabe aos produtores de hardware melhorar o hardware dos dispositivos, buscando aproximar (na medida do possível) os celulares dos desktops. Aos desenvolvedores, cada vez mais eles precisam ser capazes de fazer softwares mais compactos e otimizados, contribuindo assim para o crescimento da plataforma móvel. 2

17 CAPÍTULO 1. INTRODUÇÃO 3 Os ambientes atuais de programação para dispositivos móveis são crianças ainda em termos de padrões e metodologias de desenvolvimento. O que temos atualmente é uma série de plataformas onde há desenvolvimento em paralelo, cada aplicação é desenvolvida para uma linha de celulares ou, as vezes, para um único celular. Essa falta de padrões é prejudicial para os desenvolvedores. Nesse contexto, foi criado um sistema operacional para celulares chamado Android. O Android é um sistema de código aberto que oferece aos fabricantes de dispositivos móveis um sistema completo que gerencie o hardware. Em outras palavras, o Android é uma solução em software criada para provêr aos dispositivos móveis a) gerenciamento de hardware (função de um sistema operacional), b) suporte à drivers plugáveis, c) suporte para desenvolvimento em linguagem nativa C e linguagens de alto-nível como Java e XML, d) frameworks e APIs de desenvolvimento, entre outros. Aos desenvolvedores, o Android oferece suporte completo à programação. Mais adiante, no decorrer deste trabalho, serão mostradas em detalhes as características de programação para a plataforma. 1.1 Objetivos Hoje em dia, torna-se indispensável aos desenvolvedores e especialistas da área de computação conhecer as plataformas, técnicas de programação e APIs disponíveis para desenvolvimento de aplicações em ambientes móveis. Este projeto tem como objetivo apresentar o Android, detalhando pontos importantes da sua arquitetura e o ciclo de vida das aplicações. Além disso pretende-se mostrar como iniciar a construção de um programa básico para o Android. Pretende-se, ao final deste trabalho, desenvolver uma aplicação baseada em localização que irá utilizar o serviço GPS e mostrar a localização do dispositivo através de mapas utilizando a API do Google Maps. Através da aplicação pretende-se mostrar os recursos que a plataforma Android oferece às aplicações baseadas em localização.

18 2 ANDROID Android é uma pilha de softwares para dispositivos móveis que inclui sistema operacional, middleware e aplicações. Entende-se por pilha de software um conjunto de aplicações que trabalham em conjunto para atingir determinado objetivo. Um Sistema Operacional, por exemplo, é uma pilha de softwares. Ele contém diversas aplicações trabalhando em conjunto para atingir seu objetivo, que é gerenciar o hardware. O termo pilha é usado porque numa pilha um elemento depende de outro. Essa idéia de dependência é o que se quer deixar claro no termo Pilha de Softwares (em inglês Software Stack). No Android, além do Sistema Operacional ainda é oferecida uma gama de recursos para programação e desenvolvimento. Esses recursos incluem ferramentas de desenvolvimento (compiladores, emuladores, etc), classes re-escritas, bibliotecas, APIs e Frameworks para tornar possível a confecção de softwares para o Android. Todos esses recursos são fornecidos utilizando a linguagem de programação Java. Vamos falar um pouco sobre os recursos mais importantes a seguir. O próximo capítulo deste documento irá descrever mais detalhadamente a arquitetura do Android. 4

19 3 ARQUITETURA DO SISTEMA É fundamental conhecer bem a arquitetura do Android e fazer uso desses conhecimentos na hora da programação. O bom entendimento de todas as camadas da arquitetura permitirá que o desenvolvedor tire proveito das vantagens que o sistema oferece nativamente, podendo assim criar aplicações mais robustas e de alto-nível. A figura 3.1 mostra a arquitetura do sistema Android. Figura 3.1: Arquitetura do Sistema (fonte: Application Fundamentals) A seguir veremos em detalhes cada camada da arquitetura. A abordagem começará pela parte de baixo da pilha, no Kernel do Android. 5

20 CAPÍTULO 3. ARQUITETURA DO SISTEMA Kernel Linux O Android utiliza o Kernel Linux como camada de abstração de hardware. Em outras palavras, o Kernel Linux constitui o núcleo do Android, realizando todas as funções cabíveis à um sistema operacional. A versão utilizada no Android é a 2.6 do Linux (a mesma utilizada pelos atuais sistemas operacionais Linux) para todos os serviços do núcleo do sistema, como segurança, gerenciamento de memória, gerenciamento de processos, rede, drivers, entre outros. Além disso, foram feitas melhorias no Kernel para que ele tenha um melhor desempenho em dispositivos móveis. Um pouco de história O Kernel Linux foi criado em 1991 por Linus Torvalds. Ele queria desenvolver um sistema Unix-like que rodasse em processadores Intel Antes de desenvovler o Linux, Linus chegou a estudar o Minix, o sistema de Andrew Tanenbaum, mas não ficou satisfeito com a arquitetura deste e resolveu (por hobby, como ele mesmo disse) criar o seu próprio sistema. O sistema operacional Linux que utilizamos em nossos computadores é uma junção do Kernel (criado por Linus) mais uma grande quantidade de outros utilitários e aplicativos abertos e fechados criados por diversas empresas e programadores espalhados pelo mundo todo. Assim, aliado à esses parceiros o Kernel escrito por Linus se tornou o poderoso sistema operacional Linux como conhecemos hoje, um ambiente completo, seguro e estável para desktops, servidores e sistemas embarcados. O Kernel do Linux não foi criado com o intuito de ser portável, mas as coisas evoluíram nesse sentido. Hoje o kernel Linux é um dos Kernels mais portáveis que se conhece. Ele tem sido utilizado em: Computadores - PDAs, netbooks, notebooks, desktops, servidores e mainframes Pequenos dispositivos eletrônicos - Relógios, eletrodomésticos,

21 CAPÍTULO 3. ARQUITETURA DO SISTEMA 7 Celulares, vídeo-games, entre outros Arquiteturas compatíveis com o Linux O site oficial da Debian GNU/Linux (atualmente umas das mais importantes distribuições Linux) possui uma FAQ 1 na qual são explicados, entre outros, alguns pontos sobre compatibilidade do sistema Linux. Em resposta à questão sobre quais arquiteturas de hardware rodam Linux, o site disponibiliza a seguinte resposta: O Debian GNU/Linux inclui os códigos-fonte completos para todos os programas inclusos, portanto, eles devem rodar em qualquer sistema que seja suportado pelo kernel Linux; veja a FAQ do Linux para detalhes. A versão atual do Debian GNU/Linux, a 5.0, contém uma completa distribuição binária para as seguintes arquiteturas: i386: essa cobre os PCs baseados em Intel e processadores compatíveis, incluindo Intel 386, 486, Pentium, Pentium Pro, Pentium II (tanto Klamath quanto Celeron), e Pentium III, e os processadores compatíveis da AMD, Cyrix e outros, compatíveis com estes. m68k: essa cobre as máquinas Amiga e Atari que possuem processadores Motorola 680x0 (para x >= 2); com MMU. alpha: sistemas Alpha da Compaq/Digital. sparc: essa cobre os sistemas SPARC da Sun e a maioria dos sistemas UltraSPARC. powerpc: essa cobre algumas máquinas IBM/Motorola PowerPC, incluindo máquinas CHRP, PowerMac e PReP. arm: máquinas ARM e StrongARM. Trecho retirado do site da Debian GNU/Linux 1 Disponível em

22 CAPÍTULO 3. ARQUITETURA DO SISTEMA Linux no Android O Linux tem se mostrado um sistema operacional bastante robusto e estável, inclusive sendo usado em servidores e, cada vez mais, em empresas. Se, no seu surgimento, o Linux era usado praticamente só em universidades e apenas por especialistas na área (geralmente, no meio acadêmico), cada vez mais o Linux tem ocupado um lugar de destaque em outras áreas, seja em ambientes comerciais ou para uso pessoal. Além do mais o sistema tem sido constantemente melhorado. Normalmente, a cada seis meses sai uma atualização com melhorias e correções de problemas encontrados por usuários no mundo todo. Assim, as falhas (até os melhores sistemas tem falhas) são encontradas e corrigidas mais rapidamente que em qualquer outro sistema operacional que se conheça. Essas e outras razões contribuíram para que o Linux fosse usado no Kernel da plataforma Android. O Kernel atua como uma camada entre o hardware e o restante dos softwares. A figura 3.2 apresenta o Kernel Linux e seus componentes. Figura 3.2: Kernel Linux Android não é Linux Embora o Kernel Android seja baseado no Kernel do Linux, ele não é um sistema Linux, pois: Não possui sistema nativo de janelas Não possui suporte à biblioteca glibc Não inclui o mesmo conjunto de utilitários dos sistemas Linux (e.g., dbm do RedHat ou Ubuntu)

23 CAPÍTULO 3. ARQUITETURA DO SISTEMA 9 Por que utilizar o Kernel do Linux? Se o Android não é um sistema Linux, porque então utilizar o Kernel do Linux? Qualquer conhecedor de sistemas operacionais poderia responder essa pergunta. O Linux oferece recursos que o tornam o mais indicado para ser utilizado no Android. Excelente gerenciamento de processos e memória - Segundo [Brady, 2008], O Linux possui gerenciamento de processos e memória, como nenhum outro sistema possui Modelo de segurança baseado em permissões - Controle rígido de permissões na qual cada usuário tem determinados privilégios sobre cada arquivo Drivers - O Linux tem um modelo de drivers que permitiu aos desenvolvedores da plataforma criar uma abstração entre os dispositivos de hardware (e.g. LCDs, TouchScreen, Keyboard, etc) e os software que eles utilizam Suporte para bibliotecas compartilhdas - É o que se costuma chamar de pluggable architecture (arquitetura plugável), quando um sistema permite plugar diversos componentes com muita facilidade, etc... Open-Source Talvez a mais forte característica do Linux é que ele é um sistema Open-source (i.e., de código aberto). A comunidade que mantém o Linux é bastante numerosa e tem acrescentado inúmeras qualidades que tornaram o Linux uma potência em termos de sistema operacional. Melhorias do Kernel Alguns programas foram acrescentados ao Kernel para que ele pudesse se adequar aos dispositivos móveis. Dentre os principais programas, podemos destacar os seguintes: Alarm - Driver para prover temporizadores e funções básicas de alarmes (e.g., ligar ou desligar o aparelho) Ashmem (Android shared memory) - Permite que as aplicações compartilhem memória

24 CAPÍTULO 3. ARQUITETURA DO SISTEMA 10 Binder - Gerencia a intercomunicação entre processos. No Android todas as aplicações rodam em processos diferentes e as vezes é necessário que haja comunicação entre processos para compartilhar dados. Tipicamente, qualquer comunicação entre processos (IPC) pode causar um overhead significativo e ainda, falhas de segurança. O Binder foi criado para resolver estes problemas Power Management - Gerenciador de energia - Baseado no projeto OpenBinder 2, entre outros Mais informações Informações sobre o Kernel Linux podem ser obtidas na página oficial dos desenvolvedores do Kernel Linux 3. O código-fonte do Kernel Android está disponível para análise, estudos e colaboração no seguinte repositório: Bibliotecas A próxima camada da arquitetura é a camada das bibliotecas. Todas elas foram escritas em C e C++. Segundo [Cleron, 2007c], deste nível é que vem todo o poder, ou melhor, a robustez da plataforma. Como todas as classes foram escritas em C / C++ iremos começar falando Figura 3.3: Bibliotecas da biblioteca Libc ou melhor, Bionic Libc. Assim iremos entender melhor como funcionam as bibliotecas de código C da plataforma Android. [Brady, 2008] divide as bibliotecas em quatro partes. São elas:

25 CAPÍTULO 3. ARQUITETURA DO SISTEMA Bionic Libc Bionic Libc é uma implementação específica da biblioteca Libc, otimizada para uso embarcado. Novamente, que fique claro que esta biblioteca é diferente dos ambientes de programação em C encontrados em sistemas Linux, como Ubuntu ou Fedora. Por que criar uma nova Libc? Com certeza é um grande trabalho manter uma nova implementação de uma biblioteca própria da linguagem C. Foram três fatores fundamentais que contribuiram para a decisão de criar uma nova biblioteca. 1. Licença - Libc utiliza licença GPL. A licença GPL é uma licensa de software livre. Dentre as especificações da licença GPL, podemos destacar uma delas como a mais importante: todos os trabalhos derivados de projetos com licença GPL tem que ser licenciados sob a mesma licença (i.e. se 1% da sua aplicação utilizar algum projeto sob a licença GPL, então a sua aplicação inteira terá de ser GPL também). Segundo a Free Software Foundation, essa medida é necessária para proteger os autores e desenvolvedores. A biblioteca criada no projeto Android, a BionicC é distribuída sob a licença BSD. Os códigos sob a licença BSD podem ser utilizados em softwares livres ou softwares proprietários 4. Embora o Android seja um projeto de software livre é importante para algumas empresas ter a liberdade de ter seus softwares bem guardados, ou seja, estas empresas terão a possibilidade de possuir código-fechado mesmo junto com um projeto de código aberto. É o caso por exemplo da empresa Apple e da Microsoft, que utilizam protocolos de rede abertos (nas suas aplicações de rede e servidores) em seus sistemas operacionais. Não faria sentido estes dois sistemas operacionais serem obrigados a utilizar a licença GPL apenas porque eles utilizam uma pequena parte do software sob esta licença. Por final, foi utilizada no Android a licensa BSD para não haver problemas de código proprietário. 2. Tamanho - Para um desktop com GBs de memória RAM pouco importa o tamanho 4 Apenas com o conhecimento dos autores e pequenas restrições

26 CAPÍTULO 3. ARQUITETURA DO SISTEMA 12 de aplicativos em C, mas para um dispositivo móvel é diferente. A biblioteca Bionic Libc é realmente muito pequena, tem 200K, aproximadamente metade do tamanho da biblioteca GLibc. Isso representa um grande impacto se pensarmos em múltiplos processos rodando ao mesmo tempo num dispositivo móvel. E isso realmente irá acontecer pois no Android cada aplicação irá rodar sobre uma instância da biblioteca Bionic libc. 3. Rapidez - Toda biblioteca deve ser rápida, principalmente nos dispositivos móveis. Além do tamanho é necessário que as bibliotecas sejam rápidas e eficientes mesmo quando várias instâncias forem criadas. Mesmo para um dispositivo móvel é comum que uma aplicação (inclusive o próprio sistema operacional) se utilize de centenas de threads para realizar as mais diversas funções. Para aumentar a velocidade das aplicações que utilizam threads (praticamente todas hoje em dia) foi feita a re-implementação da biblioteca pthread. Enquanto a biblioteca pthread convencional tem tamanho de cerca 12 KB a biblioteca re-escrita tem apenas 4 KB. Além das vantagens acima citadas, também foram integrados à biblioteca funções para a utilização de serviços específicos do Android: Propriedades do sistema - através das funções getprop e setprop é possível obter e modificar propriedades do sistema operacional ou trocar informações entre processos. Há propriedades que são visíveis no sistema inteiro (algumas propriedades não podem ser modificadas, elas começam com as letras ro., de read-only). A seguir os protótipos das funções: int property_get(const char *key, char *value, const char *default_value); int property_set(const char *key, const char *value); Onde: a) key = identificação da propriedade, geralmente algo como my.system.property b) const = buffer que irá guardar as informações e c) default value = valor padrão da propriedade

27 CAPÍTULO 3. ARQUITETURA DO SISTEMA 13 Capacidades de Log realizar o debbug das aplicações nativas. - algumas funções para criar arquivos de log e tornar possível LOGI( Logging a message with priority Info ); Bibliotecas de funções O Android possui várias bibliotecas, então não iremos falar de todas (até porque a maioria já é conhecida dos usuários). [Cleron, 2007c] define como sendo as mais importantes bibliotecas: WebKit O WebKit é um engine (i.e., motor) de browsers. Ele é o responsável por analisar o código das páginas Web e criar a visualização que os navegadores exibem (processo conhecido por renderização). Em outras palavras o WebKit é o motor que faz um browser funcionar. Atualmente, os seguintes browsers utilizam o WebKit: Safari, da Apple Chrome, da Google Epiphany, navegador padrão do Gnome Midori Arora OmniWeb icab Shiira ABrowse Desta lista, merecem destaque os navegadores da Google e da Apple, grandes empresas hoje no ramo de software.

28 CAPÍTULO 3. ARQUITETURA DO SISTEMA 14 Media Framework Esta biblioteca é responsável por fornecer suporte a todo tipo de arquivos de mídia. Ela é baseada no pacote de vídeos OpenCore. As bibliotecas oferecem suporte para visualizar e gravar em diversos formatos de audio, vídeo e também imagens. Entre esses formatos podemos destacar alguns mais populares: MPEG4 H.264 MP3 AAC AMR JPG PNG Com esses codecs é possível ter uma rica experiência com audio e vídeo. Os desenvolvedores não precisam se preocupar em desenvolver ou importar codecs para estes tipos de arquivo, pois o sistema operacional lhes oferece, nativamente, esse suporte. SQLite O SQLite é um banco de dados otimizado para dispositivos móveis. Como sugere o nome, é um banco de dados mais leve, apropriado para ambientes com menos recursos. Com um banco dados relacional as aplicações tem mais recursos para armazenar suas informações de forma estruturada e assim, criar aplicações mais robustas, rodando com um banco de dados local Servidores nativos São processos rodando em background para realizar tarefas para controlar os dispositivos de entrada e saída do dispositivo.

29 CAPÍTULO 3. ARQUITETURA DO SISTEMA 15 Gerenciador de superfícies Biblioteca é responsável por desenhar na tela, ou melhor, apresentar todas as interfaces gráficas das aplicações e do próprio sistema operacional. A troca de janelas e gerenciamento de tudo que for GUI (interface gráfica com o Usuário) cabe à esta biblioteca. OpenGL ES e SGL Bibliotecas para gráficos 2D e 3D, que podem ser combinados numa mesma aplicação. O núclo (core) dos gráficos é formado por essas duas bibliotecas, ambas livres. Gerenciador de áudio Enquanto o gerenciador de superfícies é responsável pelos dispositivos de display, o gerenciador de áudio é o responsável pelo gerenciamento de todos os dispositivos de saída de áudio. O gerenciador de áudio se encarrega de todas as formas de saída de áudio do dispositivo Bibliotecas de abstração do hardware Entre o hardware e o níveis superiores da arquitetura do Android se encontra a camada de abstração de hardware. Acima da camada do Kernel linux há vários fabricantes de hardware que irão fazer drivers para se comunicar com o software rodando no Android. Para mostrar melhor o papel desta camada, a figura 3.4 mostra onde a camada de abstração de harware se encaixa dentro da figura 3.1 (Arquitetura do Android, página 5). A camada de abstração tem como objetivo definir as interfaces que o Android requer que os drivers de hardware implementem para que se encaixar (plugar) ao sistema. Essa camada separa a lógica da plataforma do Android das interfaces de hardware. [Brady, 2008] explica que a equipe tentou criar um padrão, um conjunto de APIs para definir como um hardware irá se comunicar com o dispositivo. Da mesma forma que o Android SDK fornece aos desenvolvedores classes e interfaces que possibilitam que ele

30 CAPÍTULO 3. ARQUITETURA DO SISTEMA 16 faça seu próprio código e rode dentro da arquitetura, com o hardware vai acontecer de maneira parecida. 3.3 Android Runtime (Ambiente de execução) Este componente foi escrito exclusivamente para o Android, permitindo-lhe rodar programas complexos em ambientes com memória limitada, bateria limitada, processamento limitado, entre outros. O ambiente de execução do Figura 3.4: Camada de abstração de hardware Android é composto pela Máquina Virtual Dalvik, criada especialmente para o sistema Android. Também temos as bibliotecas para se programar especificamente para essa máquina virtual. A seguir iremos falar sobre estes dois itens, a máquina virtual e as suas bibliotecas Máquina Virtual Dalvik A máquina virtual Dalvik roda aplicações no formato.dex (do acrônimo em inglês Dalvik Executable). As aplicações do Android irão rodar no ambiente virtual Dalvik sempre. Isso significa que qualquer que Figura 3.5: Android Runtime seja o dispositivo, o ambiente em que o programa roda será sempre o mesmo (mesmo sendo celulares completamente diferentes ou, ainda, mesmo não sendo celulares), dando portabilidade às aplicações escritas para o Android. A máquina virtual Dalvik não roda bytecodes Java, ela roda apenas arquivos to tipo.dex. Se o Android precisar executar um pacote.jar ele irá primeiro converter as classes para o formato.dex, que é menor e depois irá rodar essas classes.

31 CAPÍTULO 3. ARQUITETURA DO SISTEMA 17 Cada aplicação no Android roda no seu próprio processo, com a sua própria instância da Máquina Virtual Dalvik. Em outras palavras um dispositivo rodando Android pode rodar múltiplas máquinas virtuais de maneira eficiente, e cada processo roda em cima da sua própria máquina virtual. A máquina virtual Dalvik depende do Kernel Linux para fornecer funcionalidades como threading and gerenciamento de memória de baixo-nível, isso melhora significantemente o desempenho das aplicações [Brady, 2008] Core Libraries O Android conta com uma série de bibliotecas para prover as mesmas funcionalidades básicas disponíveis na linguagem Java. Observe na figura 3.1 (Arquitetura do Sistema, página 5) que tudo o que está em azul foi escrito em Java. Por isso as bibliotecas do core estão em azul. É importante ressaltar que todas as classes em Java foram reescritas para uso específico pela Máquina Virtual Dalvik. Apesar de algumas classes serem bem parecidas (ou idênticas) com as classes Java, elas foram reescritas. Portanto, o Android não usa as mesmas classes Java. Para se ter uma noção das classes Java re-implementadas segue uma pequena lista com as classes mais comuns, todas reescritas para o Android: Classes Java java.io java.math java.net java.security java.sql java.util Outras junit.framework

32 CAPÍTULO 3. ARQUITETURA DO SISTEMA 18 org.apache.http org.json org.w3c.dom org.xml, entre outras O objetivo aqui não é falar das classes especificamente. Quem já está familiarizado com as classes Java não terá problemas para entender o funcionamento das classes do Android. 3.4 Framework de aplicação Um nível acima do ambiente de execução temos o Framework de aplicação, totalmente escrito em linguagem Java. Um Framework é um conjunto de módulos integrados que visam o reaproveitamento de código, aumentando a produtividade na hora do desenvolvimento. A idéia principal de um framework é proporcionar à uma determinada linguagem uma série de recursos para elevar o nível de abstração dessa linguagem. No Android, esses frameworks são uma caixa de ferramentas (comumente chamados de toolkit) que todas as aplicações utilizam. Estas aplicações incluem implementações do celular (como por exemplo as aplicações Home e Phone), aplicações escritas pela equipe do Android (Google) e aplicações escritas por nós, programadores. Todas as aplicações usam o mesmo framework e as mesmas APIs. Figura 3.6: Framework de aplicação Entre os frameworks, podemos destacar os frameworks de serviço, aqueles cuja existência é fundamental para a plataforma inteira. Alguns desses frameworks trabalham em background de maneira transparente para o programador. A seguir serão descritos alguns dos mais importantes componentes desta camada:

33 CAPÍTULO 3. ARQUITETURA DO SISTEMA Activity Manager Estas atividades são serviços rodando em background que irão gerenciar todo o ciclo de vida de uma aplicação Android Todas as tarefas relativas a troca de contexto e gerenciamento de processos são realizadas por esse componente Package Manager Este componente é responsável por gerenciar a instalação e atualização das aplicações no Android. O package manager (gerenciador de pacotes) funciona de maneira parecida com outros gerenciadores de pacotes de sistemas Linux como por exemplo: Yum (Fedora) Synaptics (Debian e Ubuntu) Software Update (Mac OS) Telephony Manager Contém as APIs utilizadas na Aplicação Phone. Todas as aplicações relativas à um celular (conceito básico de um celular: fazer ligação) são fornecidas por este componente. Assim, a aplicação Phone do Android (padrão do sistema) utiliza estas APIs e todos os programadores que desejarem usar algum recurso ligado à telefonia poderão utilizar também esta classe Content Providers Os provedores de conteúdo são uma exclusividade do Android. Este framework provê recursos para que as aplicações compartilhem dados entre si. Os dados podem ser armazenados no dispositivo através de arquivos ou do banco de dados SQLite. Pode ser que, em determinado momento, uma aplicação crie dados e queira disponibilizar estes para uma aplicação de terceiros. O contrário também pode ser verdade,

34 CAPÍTULO 3. ARQUITETURA DO SISTEMA 20 em determinado momento podemos precisar de dados gerados por uma outra aplicação. Repare que este recurso enfatiza bem o significado de framework, no sentido de que as aplicações são mais integradas, visando escrever menos código, com transparência para o programador. Todos os contatos do Android são gerenciados e armazenados pela aplicação Contacts. Esta classe é um ótimo exemplo de uma aplicação provedora de conteúdo. Todos os objetos da classe (i.e., todos os contatos) são disponibilizados através dos provedores de conteúdo para qualquer aplicação que queira utilizar esses contatos. 3.5 Aplicações O Android vai rodar com várias aplicações em seu núcleo (core) incluindo cliente de e- mail, programas de SMS, calendário, mapas, navegador, contatos, entre outros. Todas aplicações são escritas em Java. Figura 3.7: Applicações As aplicações de terceiros também rodarão nesta camada, a camada mais alta da plataforma. Nesta camada é que vão estar todas as aplicações de alto-nível. Pode ser necessário implementar em qualquer uma das outras camadas, mas isso só para casos mais específicos (e.g., numa aplicação CPU-Bound pode ser necessária a utilização da linguagem C para se obter melhor desempenho) Componentes da aplicação Uma característica central nas aplicações do Android é o fato de elas poderem fazer uso de elementos de outras aplicações (claro que apenas se as outras aplicações permitirem e disponibilizarem estes recursos). Para isso, sua aplicação não precisa incorporar nem linkar código de outras aplicações. Basta referenciar a activity da outra aplicação que você necessita.

35 CAPÍTULO 3. ARQUITETURA DO SISTEMA 21 Para que isso funcione, o sistema deve ser capaz de iniciar uma aplicação quando qualquer parte dela for requerida e instanciar os objetos Java para aquela parte. Diferentemente das aplicações de outros sistemas, as aplicações do Android não possuem apenas uma função de entrada do programa (entry point) que sempre será chamada quando a aplicação rodar (e.g., a função main()). No Android as aplicações possuem componentes essenciais que o sistema pode instanciar e rodar quando for preciso. Há quantro tipos de componentes: Activities (Atividades) Uma atividade consiste num serviço visual oferecido ao usuário, que pode ser uma lista de contatos, um vizualizador de fotos, um player mp3. Poderíamos por exemplo ter uma atividade para mostrar as músicas do celular, uma outra atividade para tocar uma música selecionada, e ainda uma outra atividade para enviar a música por bluetooth para outro aparelho. Embora todas estas atividades estejam fortemente relacionadas e componham uma só aplicação, elas são independentes umas das outras. Isso significa que em determinado momento poderíamos usar apenas o player de músicas por exemplo. Services Um serviço não possui interface gráfica, ao invés disso roda em background, por um período de tempo indefinido. Um bom exemplo de um serviço é um player que utiliza um serviço para tocar as músicas. O player em si pode estar ativo ou não. O usuário pode estar fazendo outras coisas e mesmo assim a música deve continuar tocando. Broadcast Receivers Um receptor por broadcast é um componente que apenas recebe anúncios tanto do sistema quanto de outras aplicações. O sistema pode querer avisar por exemplo que a hora mudou ou ainda que a bateria esteja acabando. Uma aplicação poderia avisar que acabou o download de um arquivo no servidor e o arquivo está disponível.

36 CAPÍTULO 3. ARQUITETURA DO SISTEMA 22 Uma aplicação pode ter vários receptores esperando por informações que achar relevante para a aplicação. Estes receptores não exibem nenhuma interface. Eles apenas avisam o sistema que algo está acontecendo. Cabe ao sistema saber se avisa o usuário ou apenas toma alguma decisão baseada na mensagem recebida. Na maioria das vezes que um sistema precisa avisar o usuário de algo, ele irá utilizar o NotificationManager. Content Providers Um provedor de conteúdo é o componente responsável por tornar um determinado conjunto de dados de uma aplicação disponível para outras aplicações. Isso é feito através de permissões de usuários. Como cada processo é como se fosse um usuário, então cada processo vai enxergar apenas os seus arquivos.

37 CAPÍTULO 3. ARQUITETURA DO SISTEMA 23 Conclusões sobre a arquitetura Observando a arquitetura do Android (capítulo 3.1, página 5), pode-se observar que todas as camadas da arquitetura utilizam, ou melhor, reutilizam componentes já existentes e de código aberto, possibilitando a realização de melhorias, quando preciso (como foi o caso das bibliotecas libc, WebKit e outras citadas anteriormente). Aí está a importância de uma plataforma totalmente aberta e talvez daí tenha surgido a necessidade da criação da plataforma Android. Poderíamos comparar o Android com o Linux em alguns pontos, como código livre e portabilidade. Um dos objetivos de Linus Torvalds (criador do Linux) era mostrar o código a quem quisesse ver para que os outros usuários pudessem contribuir com o seu projeto. E ele acertou nisso. A comunidade científica abraçou esta idéia e contribuiu (contribui até hoje) de maneira imensurável para o desenvolvimento do Sistema Operacional. O Android está seguindo os passos do Linux.

38 Parte II Desenvolvimento 24

39 4 FUNDAMENTOS DE PROGRAMAÇÃO NO ANDROID Nos capítulos anteriores abordamos diversos conteúdos relacionados ao Android, mas sempre de uma forma bastante teórica. Este capítulo visa abordar de uma forma mais prática os principais conceitos à respeito de uma aplicação para o Android. Nesta seção, todos os trechos de código e palavras comuns nas classes e nos componentes do Android não serão traduzidos. Essa medida foi tomada exatamente para não confundir os leitores, já que a documentação oficial encontra-se em inglês. 4.1 Linguagem e paradigma Para desenvolver uma aplicação básica (custom application) no Android é preciso conhecer Java, XML e Programação Orientada à Objetos. Segue uma breve descrição de cada uma: A linguagem Java é uma linguagem de programação orientada à objetos criada na década de 90 por uma equipe de programadores da Sun Microsystems. As características mais marcantes da linguagem Java são as seguintes: orientação à objetos e portabilidade, independência de plataforma ( write once, run anywhere ), A Programação Orientada à Objetos (POO) é um paradigma de programação que surgiu ainda na década de 60. Nessa época, a complexidade do hardware e software estavam crescendo e em contra-partida a qualidade dos softwares começava a diminuir. Nesse contexto, a orientação à objetos surgiu trazendo melhorias na forma de se modelar um sistema. Não iremos entrar em detalhes ou explicar melhor como funciona o paradigma de orientação à objetos, pois iríamos estar nos distanciando muito do foco. Espera-se que 25

40 CAPÍTULO 4. FUNDAMENTOS DE PROGRAMAÇÃO NO ANDROID 26 o leitor tenha algum conhecimento prévio de POO, não só para o bom entendimento desta seção, mas também pra se desenvolver qualquer software no Android. A linguagem de marcação XML (do acrônimo em inglês extensible Markup Language), trata-se de uma linguagem de marcação para representar qualquer tipo de dado e trocar esses dados entre qualquer tipo de aplicação. O objetivo principal do XML é ser portável, não só quanto à plataforma como também quanto à aplicação. Em outras palavras, um documento XML deve poder ser lido em qualquer plataforma computacional e por qualquer aplicação capaz de ler e processar texto. Existem muitos derivados de XML como, por exemplo: a) XHTML, b) MathML, c) MusicXML, d) SVG (para criação de gráficos), e) Atom, f) RSS, entre outros. Cada formato precisa ter uma estrutura conhecida para poder trocar informações com outras plataformas/aplicações. No Android as aplicações são escritas utilizando a linguagem de programação Java e XML. Conforme vimos nos parágrafos anteriores, estas duas linguagens proporcionam algumas características importantes que fizeram delas linguagens conhecidas e utilizadas no mundo inteiro para os mais diversos fins. 4.2 Distribuição das aplicações Tanto os arquivos Java quanto os demais (arquivos de recursos, imagens, etc) são empacotados, através de um programa chamado aapt tool, para um formato de pacotes do Android, cuja extensão é.apk (de Android Package). Estes arquivos (pacotes na verdade) são o meio de se distribuir e instalar programas em dispositivos móveis com o sistema Android. 4.3 Independência e estabilidade Cada aplicação rodando no Android é totalmente independente das outras aplicações. Isso proporciona estabilidade para as aplicações.

41 CAPÍTULO 4. FUNDAMENTOS DE PROGRAMAÇÃO NO ANDROID 27 Entre as principais características das aplicações do Android, destacam-se as seguintes: Por padrão cada aplicação roda no seu próprio processo Linux Cada processo roda na sua própria máquina virtual java (VM) A segurança é garantida através de um id de usuário Linux (i.e., cada aplicação recebe um id de usuário Linux), assim, as permissões são configuradas de modo que os arquivos de uma aplicação serão visíveis apenas para aquele usuário, ou seja, apenas para a própria aplicação Conforme citado na seção 3.5 (página 20), há quantro tipos de componentes principais nas aplicações do Android. A seguir será dada uma descrição mais detalhada do componente Activity. 4.4 Activities Todo componente do sistema que interagir de alguma forma com o usuário deverá ter pelo menos uma activity, um processo gerenciado pelo sistema operacional. Como todo processo, as activities possuem um ciclo de vida. A figura 4.1 (Ciclo de vida de uma activity) mostra o ciclo de vida completo de uma activity. Na linguagem Java utilizamos o método estático main() para representar o ponto de partida da aplicação (i.e., o primeiro método que será chamada quando o programa for iniciado). No Android não é diferente, precisamos de uma referência para dizer ao sistema qual classe queremos chamar quando o programa for iniciado. O Android ainda possui a característica de poder ter uma ou n activities. Isso lhe dá a possibilidade de definir várias classes-chave do sistema, classes estas que podem ser instanciadas independente umas das outras. Em outras palavras, o Android não tem apenas um ponto de entrada para suas aplicação, ao invés disso ele possui várias activities, como se fosse um programa convencional com vários métodos main(). Isso é pertinente porque no Android uma aplicação tem a possibilidade de chamar uma activity de outra aplicação.

42 CAPÍTULO 4. FUNDAMENTOS DE PROGRAMAÇÃO NO ANDROID 28 Um exemplo prático poderia ser uma aplicação de música que em determinado momento queira mostrar a capa do album da música que está tocando. Se alguma outra aplicação (especializada em fotografias) fornecer uma activity, o programa de música podera invocar essa activity como se fizesse parte do próprio programa. Ciclo de vida de uma Activity A figura 4.1 mostra o ciclo de vida de uma activity do ponto de vista do sistema operacional. Figura 4.1: Ciclo de vida de uma activity (fonte: Activity Android Developers)

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega Android Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega Universidade Federal de Santa Catarina November 18, 2008 Agenda 1 Introdução 2 Dalvik 3 Linux 2.6 Introdução

Leia mais

O que é o Android? O que é o Android

O que é o Android? O que é o Android O que é o Android? O Android é um sistema operacional para dispositivos móveis, baseado em uma plataforma de código aberta sob a licença apache, permitindo que os fabricantes possam modificar seu código

Leia mais

A plataforma Android: Uma Introdução

A plataforma Android: Uma Introdução A plataforma Android: Uma Introdução Android Iniciativa da Google de prover uma plataforma aberta para Web móvel Open Handset Alliance Associação de um grupo bastante heterogêneo de empresas (operadoras,

Leia mais

Introdução a Computação Móvel

Introdução a Computação Móvel Introdução a Computação Móvel Computação Móvel Prof. Me. Adauto Mendes adauto.inatel@gmail.com Histórico Em 1947 alguns engenheiros resolveram mudar o rumo da história da telefonia. Pensando em uma maneira

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura Dispositivos móveis e o mercado Mercado cresce a cada ano Muitos recursos Múltiplas plataforma Symbian

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Android Android é um sistema operacional para dispositivos móveis Kernel Linux, drivers e bibliotecas do

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação. Android. Universidade Federal de Santa Catarina. 17 de dezembro de 2008

Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação. Android. Universidade Federal de Santa Catarina. 17 de dezembro de 2008 Android José João Junior Universidade Federal de Santa Catarina 17 de dezembro de 2008 Agenda 1 Visão geral 2 Estrutura do sistema 3 Ferramentas de desenvolvimento 4 Uma aplicação Visão geral Histórico

Leia mais

Desenvolvimento de um aplicativo básico usando o Google Android

Desenvolvimento de um aplicativo básico usando o Google Android Desenvolvimento de um aplicativo básico usando o Google Android (Organização do Ambiente) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

API's e Aplicações para Android

API's e Aplicações para Android API's e Aplicações para Android Computação Móvel Prof. Me. Eng. Adauto Mendes adauto.inatel@gmail.com Introdução As API s estabelecidas para Android permitem total modificação por meio de programação do

Leia mais

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID Maik Olher CHAVES 1 ; Daniela Costa Terra 2. 1 Graduado no curso de Tecnologia em Análise e Desenvolvimento de Sistemas

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Sistemas Embarcados Android

Sistemas Embarcados Android Engenharia Elétrica UFPR 7 de março de 2013 Outline Desenvolvido para sistemas móveis pelo Google: Android Open Source Project (AOSP) Grande sucesso, devido a combinação de: open source licensing aggressive

Leia mais

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF Guilherme Macedo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil guilhermemacedo28@gmail.com, jaime@unipar.br Resumo.

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME Java para Dispositivos Móveis Desenvolvendo Aplicações com J2ME Thienne M. Johnson Novatec Capítulo 1 Introdução à computação móvel 1.1 Computação móvel definições Computação móvel está na moda. Operadoras

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

Sistemas Embarcados Android

Sistemas Embarcados Android Engenharia Elétrica UFPR 13 de novembro de 2014 Desenvolvido para sistemas móveis pelo Google: Android Open Source Project (AOSP) Grande sucesso, devido a combinação de: open source licensing aggressive

Leia mais

Manual de instalação e configuração da Ferramenta Android SDK

Manual de instalação e configuração da Ferramenta Android SDK Trabalho de Programação para Dispositivos Móveis Turma: 1011 Camila Botelho camilacunhabotelho@gmail.com Manual de instalação e configuração da Ferramenta Android SDK Introdução O Android é uma ferramenta

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele

Leia mais

Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva

Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

Alarme Automotivo com mensagem para móvel utilizando Arduino

Alarme Automotivo com mensagem para móvel utilizando Arduino Alarme Automotivo com mensagem para móvel utilizando Arduino Maycon Cirilo dos Santos¹, Wyllian Fressatti¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil mayconsi2012@gmail.com, wyllian@unipar.br

Leia mais

7 Utilização do Mobile Social Gateway

7 Utilização do Mobile Social Gateway 7 Utilização do Mobile Social Gateway Existem três atores envolvidos na arquitetura do Mobile Social Gateway: desenvolvedor do framework MoSoGw: é o responsável pelo desenvolvimento de novas features,

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 04 Anatomia de uma aplicação Android Dalton Martins dmartins@gmail.com São Paulo, Fevereiro, 2012 24/02/12

Leia mais

Cadastramento de Computadores. Manual do Usuário

Cadastramento de Computadores. Manual do Usuário Cadastramento de Computadores Manual do Usuário Setembro 2008 ÍNDICE 1. APRESENTAÇÃO 1.1 Conhecendo a solução...03 Segurança pela identificação da máquina...03 2. ADERINDO À SOLUÇÃO e CADASTRANDO COMPUTADORES

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

Manual do Usuário Android Neocontrol

Manual do Usuário Android Neocontrol Manual do Usuário Android Neocontrol Sumário 1.Licença e Direitos Autorais...3 2.Sobre o produto...4 3. Instalando, Atualizando e executando o Android Neocontrol em seu aparelho...5 3.1. Instalando o aplicativo...5

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico Fundamentos de Java Prof. Marcelo Cohen 1. Histórico 1990 linguagem Oak; desenvolvimento de software embutido para eletrodomésticos S.O. para o controle de uma rede de eletrodomésticos o surgimento da

Leia mais

Aula 1 - Introdução e configuração de ambiente de desenvolvimento

Aula 1 - Introdução e configuração de ambiente de desenvolvimento Aula 1 - Introdução e configuração de ambiente de desenvolvimento Olá, seja bem-vindo à primeira aula do curso para desenvolvedor de Android, neste curso você irá aprender a criar aplicativos para dispositivos

Leia mais

16:21:50. Introdução à Informática com Software Livre

16:21:50. Introdução à Informática com Software Livre 16:21:50 Introdução à Informática com Software Livre 1 16:21:50 Hardware & Software 2 16:21:50 Hardware Hardware é a parte física de um computador, é formado pelos componentes eletrônicos, como por exemplo,

Leia mais

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

Leia mais

Android. Marcelo Quinta @mrquinta

Android. Marcelo Quinta @mrquinta Android Marcelo Quinta @mrquinta Oi, eu sou o Marcelo Quinta Pública Público-privada Privada Próprio negócio Voluntariado Parabéns à organização do GO-GTUG Tablets 160% de aumento em 2011 Smartphones

Leia mais

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Na Figura a seguir apresento um exemplo de uma mini-tabela de roteamento: Tutorial de TCP/IP - Parte 6 - Tabelas de Roteamento Por Júlio Cesar Fabris Battisti Introdução Esta é a sexta parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do protocolo TCP/IP. Na

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Montagem e Manutenção. Luís Guilherme A. Pontes

Montagem e Manutenção. Luís Guilherme A. Pontes Montagem e Manutenção Luís Guilherme A. Pontes Introdução Qual é a importância da Montagem e Manutenção de Computadores? Sistema Binário Sistema Binário Existem duas maneiras de se trabalhar e armazenar

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PROFª. M.Sc. JULIANA H Q BENACCHIO Links importantes http://www.android.com/ Site oficial de toda a documentação, downloads e informações sobre a plataforma. http://developer.android.com/

Leia mais

Informática. Aula 03 Sistema Operacional Linux. Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos

Informática. Aula 03 Sistema Operacional Linux. Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Prof. Diego Pereira Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Informática Aula 03 Sistema Operacional Linux Objetivos Entender

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Conceitos Básicos Sistema Operacional: Um Sistema Operacional é um programa que atua como intermediário entre o usuário e o hardware de um computador. O Propósito do SO é fornecer

Leia mais

CISC RISC Introdução A CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; suporta mais instruções no entanto, com

Leia mais

Operador de Computador. Informática Básica

Operador de Computador. Informática Básica Operador de Computador Informática Básica Instalação de Software e Periféricos Podemos ter diversos tipos de software que nos auxiliam no desenvolvimento das nossas tarefas diárias, seja ela em casa, no

Leia mais

Curso de Linux Básico

Curso de Linux Básico Curso de Linux Básico Oficina TecnoJovem Outubro/2013 Instalação de Programas Introdução Pacotes Gerenciamento de Pacotes Exemplos Material baseado na Documentação Ubuntu, disponível na Internet (WIKI)

Leia mais

Sistema Operacional LINUX

Sistema Operacional LINUX SISTEMA OPERACIONAL Sistema Operacional LINUX Para que o computador funcione e possibilite a execução de programas é necessária a existência de um sistema operacional. O sistema operacional é uma camada

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História

Leia mais

6/06/2012 09h26 - Atualizado em 26/06/2012 12h30 Boot to Gecko: o futuro celular da Mozilla

6/06/2012 09h26 - Atualizado em 26/06/2012 12h30 Boot to Gecko: o futuro celular da Mozilla 6/06/2012 09h26 - Atualizado em 26/06/2012 12h30 Boot to Gecko: o futuro celular da Mozilla O mercado brasileiro de dispositivos móveis em breve ganhará mais uma grande plataforma. Anunciado oficialmente

Leia mais

UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO

UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO www.origy.com.br UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO CARACTERÍSTICAS: E-MAIL IMAP * Acesso simultâneo e centralizado, via aplicativo, webmail e celular/smartphone * Alta capacidade de armazenamento

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL LINUX Lapro I Profa. Fernanda Denardin Walker - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL Para que o computador funcione e possibilite a execução

Leia mais

Administração de Sistemas de Informação Gerenciais

Administração de Sistemas de Informação Gerenciais Administração de Sistemas de Informação Gerenciais UNIDADE III: Infraestrutura de Tecnologia da Informação Atualmente, a infraestrutura de TI é composta por cinco elementos principais: hardware, software,

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

Instituição Faculdade de tecnologia Senac Pelotas-RS. Pronatec. Termos Técnicos. Carolina Lima, Francielen Carvalho, Raquel Brim, Taione Leandro

Instituição Faculdade de tecnologia Senac Pelotas-RS. Pronatec. Termos Técnicos. Carolina Lima, Francielen Carvalho, Raquel Brim, Taione Leandro Instituição Faculdade de tecnologia Senac Pelotas-RS Pronatec Termos Técnicos Carolina Lima, Francielen Carvalho, Raquel Brim, Taione Leandro Pelotas, 2012 Carolina Lima, Francielen Carvalho, Raquel Brim,

Leia mais

Motorola Phone Tools. Início Rápido

Motorola Phone Tools. Início Rápido Motorola Phone Tools Início Rápido Conteúdo Requisitos mínimos... 2 Antes da instalação Motorola Phone Tools... 3 Instalar Motorola Phone Tools... 4 Instalação e configuração do dispositivo móvel... 5

Leia mais

1 Como seu Cérebro Funciona?

1 Como seu Cérebro Funciona? 1 Como seu Cérebro Funciona? UNIVERSIDADE FEDERAL DO ABC (UFABC) O cérebro humano é capaz de processar as informações recebidas pelos cinco sentidos, analisá-las com base em uma vida inteira de experiências,

Leia mais

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade.

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade. 1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade. Todos nós da AGI Soluções trabalhamos durante anos

Leia mais

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com Java & OpenJDK Thiago S. Gonzaga Sun Campus Ambassador thiago.gonzaga@sun.com Tópicos Sobre a Sun Microsystems Algumas tecnologias da Sun Linguagem de Programação Ciclo de Desenvolvimento O que é Java?

Leia mais

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER V14 de BricsCAD vem com um novo sistema de licenciamento, com base na tecnologia de licenciamento de Reprise Software. Este novo sistema oferece um ambiente

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 03 Introdução ao ambiente de desenvolvimento: Eclipse e Android SDK Dalton Martins dmartins@gmail.com São

Leia mais

Como instalar uma impressora?

Como instalar uma impressora? Como instalar uma impressora? Antes de utilizar uma impressora para imprimir seus documentos, arquivos, fotos, etc. é necessário instalá-la e configurá-la no computador. Na instalação o computador se prepara

Leia mais

UM FRAMEWORK PARA DESENVOLVIMENTO DE

UM FRAMEWORK PARA DESENVOLVIMENTO DE UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA UM FRAMEWORK PARA DESENVOLVIMENTO DE APLICATIVOS EM WINDOWS MOBILE. PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluno:

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

Rotina de Discovery e Inventário

Rotina de Discovery e Inventário 16/08/2013 Rotina de Discovery e Inventário Fornece orientações necessárias para testar a rotina de Discovery e Inventário. Versão 1.0 01/12/2014 Visão Resumida Data Criação 01/12/2014 Versão Documento

Leia mais

Celebre este natal e ano novo junto aos seus amigos e familiares distantes.

Celebre este natal e ano novo junto aos seus amigos e familiares distantes. Celebre este natal e ano novo junto aos seus amigos e familiares distantes. Receba fotos e mensagens deles na TV de sua casa em tempo real e sem custo, não se preocupe mais com a distância! A festa será

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento HOME O QUE É TOUR MÓDULOS POR QUE SOMOS DIFERENTES METODOLOGIA CLIENTES DÚVIDAS PREÇOS FALE CONOSCO Suporte Sou Cliente Onde sua empresa quer chegar? Sistemas de gestão precisam ajudar sua empresa a atingir

Leia mais

Instalando o Debian em modo texto

Instalando o Debian em modo texto Instalando o Debian em modo texto Por ser composto por um número absurdamente grande de pacotes, baixar os CDs de instalação do Debian é uma tarefa ingrata. Você pode ver uma lista dos mirrors disponíveis

Leia mais

Sistemas Operacionais. Conceitos de um Sistema Operacional

Sistemas Operacionais. Conceitos de um Sistema Operacional Sistemas Operacionais Conceitos de um Sistema Operacional Modo usuário e Modo Kernel Como já vimos são ambientes de execução diferentes no processador Há um conjunto de funções privilegiadas acessadas

Leia mais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Tecnologia PCI express. Introdução. Tecnologia PCI Express Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade

Leia mais

Curso de Instalação e Gestão de Redes Informáticas

Curso de Instalação e Gestão de Redes Informáticas ESCOLA PROFISSIONAL VASCONCELLOS LEBRE Curso de Instalação e Gestão de Redes Informáticas PROCESSADORES DE 64 BITS X PROCESSADORES DE 32 BITS José Vitor Nogueira Santos FT2-0749 Mealhada, 2009 Introdução

Leia mais

Manual do Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

Leia mais

Hyper-V e Intel HAXM. Ativando a virtualização

Hyper-V e Intel HAXM. Ativando a virtualização Hyper-V e Intel HAXM Neste texto iremos tratar de dois softwares utilizados para virtualização, o Hyper-V da Microsoft e o Intel HAXM (Intel Hardware Accelerated Execution Manager). O Hyper-V é utilizado

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

www.neteye.com.br NetEye Guia de Instalação

www.neteye.com.br NetEye Guia de Instalação www.neteye.com.br NetEye Guia de Instalação Índice 1. Introdução... 3 2. Funcionamento básico dos componentes do NetEye...... 3 3. Requisitos mínimos para a instalação dos componentes do NetEye... 4 4.

Leia mais

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO 1 AULA SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! ROTEIRO PRÉ-REQUISITOS 1 INTRODUÇÃO 2 DISTRIBUIÇÕES LINUX 3 AJUDA PARA ESCOLHER SUA DISTRIBUIÇÃO LINUX 4 DÚVIDAS FREQUENTES

Leia mais

Collaboration Map Collaboration Map. Figura 6.1: Arquitetura da aplicação

Collaboration Map Collaboration Map. Figura 6.1: Arquitetura da aplicação 6 Estudo de caso A utilização de um modelo de componentes orientado a serviços possibilita a construção de aplicações por meio da conexão entre componentes em tempo de execução. O middleware Kaluana utiliza-se

Leia mais

Seja Bem-vindo(a)! Neste módulo vamos trabalhar os principais conceitos de informática.

Seja Bem-vindo(a)! Neste módulo vamos trabalhar os principais conceitos de informática. Seja Bem-vindo(a)! Neste módulo vamos trabalhar os principais conceitos de informática. AULA 1 Noções básicas de Informática Componentes básicos Hardware Componentes básicos Software Noções de MS Word

Leia mais

Computação nas Nuvens

Computação nas Nuvens Computação nas Nuvens TÓPICOS Introdução Internet: O fundamento principal O que é Computação em Nuvens Vantagens Dúvidas Corrida pela tecnologia Trabalhos Futuros Conclusão Referências 2 TÓPICOS Introdução

Leia mais

Aula 01. Introdução ao Linux

Aula 01. Introdução ao Linux Aula 01 Introdução ao Linux Introdução Objetivos aprender a usar um novo sistema aprender a usar uma nova interface Como no Windows navegar pela internet (e-mails, facebook, etc) criar pastas e arquivos

Leia mais

Biblioteca Virtual do NEAD/UFJF GOOGLE APPS EDUCATION: FERRAMENTA DE EDIÇÃO, COMUNICAÇÃO E PESQUISA

Biblioteca Virtual do NEAD/UFJF GOOGLE APPS EDUCATION: FERRAMENTA DE EDIÇÃO, COMUNICAÇÃO E PESQUISA GOOGLE APPS EDUCATION: FERRAMENTA DE EDIÇÃO, COMUNICAÇÃO E PESQUISA Módulo de Acolhimento UAB/UFJF 2008 PrezadoCursista, Baseado na perspectiva de que você terá que se familiarizar com alguns recursos

Leia mais

CC Montagem e manutenção de hardware Docente: Nataniel Vieira 1 sem Técnico em Informática Roteiro 06: Atividade sobre o Documentário RevolutionOS

CC Montagem e manutenção de hardware Docente: Nataniel Vieira 1 sem Técnico em Informática Roteiro 06: Atividade sobre o Documentário RevolutionOS SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS CC Montagem e manutenção de hardware Docente: Nataniel Vieira 1 sem Técnico em Informática Roteiro 06: Atividade sobre o

Leia mais

Gestão de Relacionamento com o Cliente CRM

Gestão de Relacionamento com o Cliente CRM Gestão de Relacionamento com o Cliente CRM Fábio Pires 1, Wyllian Fressatti 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil pires_fabin@hotmail.com wyllian@unipar.br RESUMO. O projeto destaca-se

Leia mais

Manual de Configuração de Ambiente para Utilização do Login via Certificado Digital no Cadastro Web

Manual de Configuração de Ambiente para Utilização do Login via Certificado Digital no Cadastro Web Manual de Configuração de Ambiente para Utilização do Login via Certificado Digital no Cadastro Web AÇÕES IMPORTANTES Ao tentar acessar o Cadastro Web por meio da certificação digital, é fundamental realizar

Leia mais

Tutorial Moodle Visão do Aluno

Tutorial Moodle Visão do Aluno Tutorial Moodle Visão do Aluno A P R E S E N T A Ç Ã O A sigla MOODLE significa (Modular Object Oriented Dynamic Learning Environment), em inglês MOODLE é um verbo que descreve a ação ao realizar com gosto

Leia mais

OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ.

OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ. Técnico em Informática Turma 10 Programação para Dispositivos Móveis Roteiro Parcial de Projeto Guilherme Cruz OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ. FERRAMENTA IntelliJ

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Arquitetura Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Sistemas monolíticos Sistemas em camadas Sistemas micro-núcleo Modelo Cliente-Servidor Máquinas

Leia mais

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Construtor de sites SoftPixel GUIA RÁPIDO - 1 - GUIA RÁPIDO - 1 - Sumário Introdução...3 Por que utilizar o Construtor de Sites?...3 Vantagens do Construtor de Sites...3 Conceitos básicos...3 Configuração básica do site...5 Definindo o layout/template

Leia mais