UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

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

Download "UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO"

Transcrição

1 UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Alexandre Araújo e Silva Um Aplicativo Android para o Wiki Disciplinas do DCC/UFBA Salvador 2011 Alexandre Araújo e Silva

2 UM APLICATIVO ANDROID PARA O WIKI DISCIPLINAS DO DCC/UFBA Monografia apresentada ao Curso de Graduação de Ciência da Computação, Departamento de Ciência da Computação, Instituto de Matemática, Universidade Federal da Bahia, como requisito para a obtenção do grau de Bacharel em Ciência da Computação. Orientador: Prof. Anna Friedericka Schwarzmuller Salvador 2011

3 Dedico este estudo a minha mãe, Dona Nara, minha maior incentivadora, meu maior exemplo e maior responsável por todas minhas realizações e conquistas. Gostaria de agradecer, primeiramente a Deus, e a todos que contribuíram para a realização deste trabalho, especialmente professora Frieda, pela orientação e por acreditar no sucesso do trabalho.

4 RESUMO Este trabalho apresenta o protótipo de uma aplicação móvel que traz os benefícios da mobilidade, para que docentes e discentes do Departamento de Ciências da Computação da Universidade Federal da Bahia (DCC/UFBA) tenham acesso às informações do wiki de disciplinas através de um dispositivo móvel com a plataforma Android. O wiki de disciplinas do DCC/UFBA é uma ferramenta de colaboração, utilizada por alunos e professores para acessar informações sobre as disciplinas do departamento, projetada para o ambiente web. O Android é um sistema operacional para dispositivos móveis desenvolvido pela Google e outras grandes empresas de telefonia celular. Devido à necessidade de disponibilizar o conteúdo do wiki a todos em qualquer lugar onde estiverem, de uma maneira prática e fácil de visualizar, através de um dispositivo móvel, foi projetado e desenvolvido um protótipo de aplicativo móvel para acessar estas informações. Palavras-chave: Android, computação móvel, dispositivos móveis, wiki.

5 ABSTRACT This paper presents the prototype of a mobile application that brings the benefits of mobility, so that teachers and students of Department of Computer Science of Federal University of Bahia (DCC/UFBA) have access to wiki disciplines information through a mobile device with Android platform. The wiki DCC/UFBA disciplines is a collaboration tool, used by students and teachers to access information about the department disciplines, designed for web environment. Android is an operating system for mobile devices developed by Google and other major cell phone companies. Because of the need to provide the wiki content to all everywhere they are, in a practical and easy to view through a mobile device, was designed and developed a mobile application prototype to access this information. Key words: Android, mobile computing, mobile devices, wiki

6 Índice de Figuras Figura 1 - Logo do Android Figura 2 - Arquitetura do Android Figura 3 - Emulador do Android Figura 4 - Versões do Android Figura 5 - Ciclo de vida de uma activity Figura 6 - Exemplo de Activity Figura 7 - Exemplo BroadcastReceiver Figura 8 - Hierarquia de nós View e ViewGroup na interface gráfica Figura 9 - Arquivo XML de layout Figura 10 Exemplo de permissão Figura 11 - Estrutura do AndroidManifest.xml Figura 12 - Tela inicial do Android Market Figura 13 - Tela de instalação de um aplicativo Figura 14 - Disciplinas.dcc.ufba.br Figura 15 - Diagrama de Casos de Uso Figura 16 - Diagrama de sequência Buscar Disciplina Figura 17 - Diagrama de sequência Listar Disciplinas Figura 18 - Arquitetura da aplicação Figura 19 Conexão com a página do wiki Figura 20 - IDE Eclipse Figura 21 - Tela de edição do XML Layout Figura 22 - Tela inicial do aplicativo Figura 23 - XML de layout da Activity principal Figura 24 - Parte do código da Activity Principal DisciplinasDCC Figura 25 - Tela de Pesquisa por Disciplinas... 65

7 Figura 26 - Tela Lista de Disciplinas Figura 27 - Tela de Seleção de Disciplinas Figura 28 - Tela de exibição da disciplina Figura 29 - Opções da Tela de Disciplinas Figura 30 - Wiki acessado pelo aplicativo... 68

8 SIGLAS E SÍMBOLOS 3G 4G AAC ADT API BSD CDMA CSS DCC DDMS GPS GSM HTML IDE IOS J2ME JVM MMS MP3 OHA PC PDAs RIM SDK SMS TDMA UID UFBA WAP WMA XML Terceira Geração de Celulares Quarta Geração de Celulares Advanced Audio Coding Android Development Tools Interface de Programação de Aplicações Berkeley Software Distribution Acesso Múltiplo por Divisão de Código Cascading Style Sheets Departamento de Ciências da Computação Dalvik Debug Monitor Service Sistema de Posicionamento Global Sistema Global para Comunicações Móveis HyperText Markup Language Integrated Development Environments Iphone Operating System Java 2 Micro Edition Máquina Virtual Java Serviço de Mensagens Multimídia MPEG-1/2 Audio Layer 3 Open Headset Alliance Computador Pessoal Personal Digital Assistants Research In Motion Software Development Kit Serviço de Mensagens Curtas Acesso Múltiplo por Divisão de Tempo Unix User Identification Universidade Federal da Bahia Protocolo para Aplicações Sem Fio Windows Media Audio Extensible Markup Language

9 SUMÁRIO 1 INTRODUÇÃO DISPOSITIVOS E APLICAÇÕES MÓVEIS COMPUTAÇÃO MÓVEL DISPOSITIVOS MÓVEIS PLATAFORMAS E LINGUAGENS APLICATIVOS MÓVEIS MOBILIDADE, USABILIDADE E EFICIÊNCIA SEGURANÇA A PLATAFORMA ANDROID ARQUITETURA DO ANDROID MÁQUINA VIRTUAL DALVIK ANDROID SDK VERSÕES DO ANDROID COMPONENTES DA APLICAÇÃO INTERFACE GRÁFICA SEGURANÇA E PERMISSÕES ANDROID MANIFEST COMUNICAÇÃO COM UM SERVIDOR ANDROID MARKET TRABALHO DESENVOLVIDO QUESTIONÁRIO DE PESQUISA WIKI DISCIPLINAS DO DCC O PROJETO DA APLICAÇÃO PROTÓTIPO DA APLICAÇÃO CONCLUSÃO REFERÊNCIAS APÊNDICE 1 - QUESTIONÁRIO... 75

10 10 1 INTRODUÇÃO Num mundo em que o fluxo de informações cresce de forma acelerada, manter-se atualizado é uma necessidade para todos. Estar o tempo todo conectado e ter sempre à sua disposição todos os recursos e informações necessárias à realização de suas tarefas são formas de alcançar este objetivo. O avanço da tecnologia tornou isso perfeitamente possível. A computação móvel trouxe a proliferação dos dispositivos móveis de diferentes formatos e capacidades que, aliados ao aperfeiçoamento das redes sem fio e telefonia celular, garantem a mobilidade aos seus usuários (INTEL, 2007). Não existe invenção que tenha avançado tanto no mundo quanto o celular. O aparelho passou por um processo de evolução, e deixou de ter apenas a função de servir como comunicador de voz, adquirindo ao longo do tempo novas funcionalidades e recursos, e originando novos dispositivos que chegam a possuir a capacidade de um computador pessoal. Hoje o número de aparelhos celulares já passou dos 5 bilhões, próximo de atingir a incrível média de um aparelho para cada habitante do planeta. Os usuários têm a necessidade de ter recursos como Sistema de Posicionamento Global (GPS), câmera, músicas, acesso à Internet, entre outros. A evolução dos dispositivos trouxe tudo isso e mais um pouco. Os principais recursos dos dispositivos móveis são as aplicações móveis, ou aplicativos, que vão desde simples ferramentas de produção pessoal até sistemas de contas de banco. Existem diversas plataformas móveis, cada uma com particularidades, vantagens e desvantagens. O objetivo principal das empresas desenvolvedoras é construir plataformas modernas e ágeis, que deixem seus usuários satisfeitos. Grandes empresas têm travado uma enorme disputa para se manter a frente do mercado consumidor. Visando este mercado em expansão, a Google, gigante da internet, juntamente com um grupo de grandes empresas de telefonia móvel, chamado Open Headset Alliance (OHA), criou o Android, uma plataforma de desenvolvimento para

11 11 aplicativos móveis, baseada no sistema operacional Linux. A plataforma apresenta uma interface visual rica, GPS, diversas aplicações já instaladas e ainda um ambiente de desenvolvimento bastante poderoso, inovador e flexível (LECHETA, 2010). Além disso, o Android é uma plataforma de código aberto e bastante flexível em relação a mudanças desejadas pelos desenvolvedores. O wiki Disciplinas do Departamento de Ciências da Computação da Universidade Federal da Bahia (DCC/UFBA) é uma ferramenta de colaboração coletiva onde alunos e professores do departamento compartilham informações sobre as disciplinas através de uma página web. No wiki é possível encontrar diversas informações sobre as disciplinas, como conteúdo programático, notas de aula, exercícios, assim como dados do semestre atual, como calendário com datas de provas e trabalhos, metodologia e notas dos trabalhos, entre outros. Dessa forma, alunos e professores se mantém sempre atualizados do que acontece nas disciplinas. Por isso, existe a necessidade de deixar estas informações disponíveis a todos em qualquer lugar que estiverem, de uma maneira prática e fácil de visualizar, através de um dispositivo móvel. Este trabalho tem como objetivo apresentar um protótipo de aplicativo móvel que traz os benefícios da mobilidade, aliado às facilidades de desenvolvimento oferecidas pela plataforma Android, para que docentes e discentes tenham acesso às informações do wiki de disciplinas. O tema e o objetivo do trabalho foram definidos devido ao desejo do autor de aprender novas tecnologias, que apresentassem uma tendência de crescimento no mercado tecnológico, e de desenvolver uma ferramenta útil para docentes e discentes do DCC. A escolha de desenvolver um aplicativo pra o Android se deu por conta da flexibilidade e das facilidades oferecidas por esta plataforma de desenvolvimento. Primeiramente, foi realizada uma pesquisa online com alunos e professores do DCC, cujo objetivo era medir a utilização de dispositivos móveis e do wiki de disciplinas, e o impacto que um aplicativo móvel para acessar as informações do wiki iria causar e se seria utilizado.

12 12 Os resultados da pesquisa mostraram a grande utilização de dispositivos móveis dentro do departamento e a tendência do número de adoções aumentar. Além disso, a maioria dos respondentes afirmou que utilizaria o aplicativo móvel para acessar o wiki de disciplinas. Como o resultado da pesquisa se mostrou positivo para o desenvolvimento do aplicativo, foi elaborado um projeto, onde os requisitos foram levantados e as funcionalidades da aplicação apresentadas. Após o projeto, foi construído um protótipo da aplicação, que simula o funcionamento do aplicativo real. Este trabalho está estruturado da seguinte maneira: introdução ao conteúdo abordado no texto, que é este primeiro capítulo. O segundo capítulo aborda os conceitos de dispositivos e aplicações móveis, traçando um histórico da computação móvel, descrevendo as principais plataformas e destacando as principais características desta tecnologia. No terceiro capítulo é descrita a plataforma Android, seu funcionamento e suas características. O trabalho desenvolvido é apresentado no quarto capítulo, dividido em três etapas: uma pesquisa entre alunos e professores do DCC/UFBA para avaliar a importância do aplicativo móvel a ser desenvolvido dentro do departamento; o projeto da aplicação, onde é descrito o funcionamento do aplicativo e, por último, o protótipo da aplicação, com detalhes sobre sua implementação. No quinto e último capítulo, são apresentadas as conclusões sobre o trabalho e os futuros trabalhos a serem desenvolvidos baseados neste estudo.

13 13 2 DISPOSITIVOS E APLICAÇÕES MÓVEIS O mercado de celulares e dispositivos móveis vem crescendo cada vez mais. De acordo com estudos, hoje existem mais de cinco bilhões de celulares no mundo, o que corresponde a quase um aparelho para cada pessoa da população. Os usuários modernos buscam cada vez mais celulares que possuam diversos recursos como câmeras, músicas, bluetooth, ótima interface visual, jogos, GPS, acesso a internet e s, televisão digital, etc. O mercado corporativo também vê oportunidade nesse segmento, ao incorporar aplicações móveis no seu dia-a-dia trazendo mais agilidade para seus negócios e integrando-as com seus sistemas de back-end. Assim, como as empresas buscam lucros e mais lucros, celulares e smartphones podem se encaixar perfeitamente num espaço onde mobilidade é uma palavra cada vez com mais evidência. (LECHETA, 2010) A mobilidade remete os softwares de volta à arquitetura baseada em clienteservidor. Esta arquitetura era dominante há alguns anos atrás, antes que os aplicativos web, baseados em um cliente central (o navegador web), tomassem conta do mercado devido à explosão da internet. É a constante transformação do mundo tecnológico (NUNES, 2011). Nunes (2011) diz que o mundo móvel é muito mais híbrido e despadronizado que o mundo web, no qual a diferença se localiza basicamente nos navegadores, onde Internet Explorer e Firefox exercem certo domínio, e apresentam apenas pequenas diferenças na exibição de sistemas web. No mundo móvel, existe uma grande variedade de fabricantes de aparelhos e sistemas operacionais. Além disso, dispositivos móveis exigem que suas aplicações apresentem uma experiência de usuário muito mais simplificada que aquelas projetadas para ambiente web, exibidas em computadores pessoais (PCs). O motivo disto é que existe uma enorme diferença entre o tamanho de tela e a resolução de um

14 14 smartphone comum e o menor monitor de PC com resolução de 1024 por 768 pixels. Ou seja, não é muito provável que uma interface projetada para web se redimensione bem quando acessada em um dispositivo móvel. (NILSEN et al., 2007) São diversas as plataformas móveis, Java Micro Edition (J2ME), Iphone, Symbian, Blackberry, Android e Windows Mobile (agora Windows Phone), citando apenas as principais, cada qual com suas particularidades. Cada aparelho também tem suas características de hardware específicas, como câmera, GPS, tipo de teclado, tamanho e resolução de tela. Neste contexto, empresas e desenvolvedores buscam uma plataforma de desenvolvimento que seja moderna e ágil. Já os usuários necessitam de celulares com muitos recursos, que tenham visual elegante e moderno, e que sejam de fácil navegação. Grandes empresas têm disputado uma grande corrida para ter a preferência dos usuários neste nicho de mercado. Para ocupar este espaço, a Google, junto com grandes empresas do mercado de telefonia celular, formou a OHA, e criou o Android, plataforma de desenvolvimento para aplicativos móveis baseada no sistema operacional Linux, com diversas aplicações previamente instaladas e um ambiente de desenvolvimento com muitos recursos (LECHETA, 2010). 2.1 COMPUTAÇÃO MÓVEL Jhonson (2007) levanta um questionamento sobre o que se movimenta dentro do conceito da Computação Móvel, o dispositivo (junto com o usuário) ou o código. De acordo com o autor, existe uma definição que diz que computação móvel permite que usuários tenham acesso a serviços independente de sua localização. Para que este objetivo seja alcançado deve existir então uma infra-estrutura de comunicações sem fio, além de suporte à mobilidade. Assim, usuário e dispositivo se movimentam, o que não impede que o código também se movimente (entre dispositivos e servidores), conceito conhecido como código móvel.

15 15 Existe uma gama de serviços que podem ser implementados para computação móvel. Trocas de mensagens Serviço de Mensagens Curtas (SMS) e Serviço de Mensagens Multimídia (MMS), serviço de , chat, são apenas alguns exemplos. Hoje em dia, o segmento que mais cresce nessa área são os aplicativos móveis, que oferecem diversos serviços, desde consultas bancárias ou marcações de consultas médicas até localização geográfica. Tudo isso só é possível devido à disponibilidade de acesso à comunicação. A utilização de serviços móveis só está disponível para o usuário por causa da existência das redes de telefonia celular e das redes sem fio. Os principais padrões de rede sem fio atualmente são as tecnologias bluetooth, WiFi, WiMax e 3G. A história do celular se inicia através de uma atriz, a austríaca Hedwig Kiesler. Kiesler era casada com um austríaco nazista fabricante de armas, e se mudou para os Estados Unidos em ocasião da segunda guerra mundial. Lá, ficou sabendo que alguns torpedos teleguiados da marinha americana haviam sido interceptados por inimigos. Então, empenhou-se na criação de um sistema em que duas pessoas se comunicassem mudando o canal, para que a conversa não fosse interceptada. Essa foi a primeira concepção do celular, patenteada em Em 1947, um grupo de engenheiros teve a idéia de criar um sistema que fosse capaz de realizar a comunicação entre dois telefones sem fio. Então, começou a ser desenvolvido no laboratório Bell, nos Estados Unidos, um sistema telefônico de alta capacidade interligado por diversas antenas, sendo que cada antena era considerada uma célula. Por isso o nome de celular. Inicialmente, as idéias não passaram muito da teoria e pouco se pôs em prática (JORDÃO, 2009). Entre 1947 e 1973, muitos fabricantes fizeram testes, mas o primeiro celular a ser desenvolvido foi o Ericson MTA, da Ericson, que pesava cerca de 40 quilogramas e seria instalado em porta-malas de carros (WIKIPEDIA, 2011). Porém, tudo começou de verdade em 1973, quando foi efetuada a primeira chamada de um telefone móvel para um telefone fixo. A partir deste fato pôde-se 1 Extraído de História de Tudo (História do Celular). Disponível em

16 16 comprovar que o celular funcionaria perfeitamente e que a rede de telefonia projetada em 1947 tinha sido idealizada corretamente. Em 3 de abril de 1973, a Motorola se tornou a primeira empresa a mostrar um aparelho em funcionamento. O aparelho se chamava Dynatac e era apenas um protótipo, portanto não estava a venda ao público. Foi com ele que ocorreu a primeira ligação de um aparelho celular. Ele tinha 25 centímetros de comprimento, sete centímetros de largura e pesava cerca de um quilograma. Porém, o primeiro modelo só foi liberado comercialmente nos Estados Unidos apenas em Outras marcas já tinham iniciado suas operações no Japão e na Escandinávia, em Os primeiros aparelhos não eram tão portáteis e chegavam a pesar em média um quilograma e tinham quase 30 centímetros de altura. A maioria era desenvolvida para ser instalada em carros, e seu preço era astronômico, portanto apenas uma pequeníssima parte da população tinha acesso aos aparelhos. No início, os assinantes tinham que pagar 20 mil dólares para possuir um sistema telefônico deste tipo. Naquela época, consultorias contratadas para analisar as perspectivas do celular para investidores, concluíram que os celulares não eram um bom negócio e não vingariam, não alcançando mais do que 15% da população dos Estados Unidos ao final de 20 anos. Na análise, portanto, não foram levados em conta dois fatores essenciais: o impacto da miniaturização e a revolução da digitalização nas telecomunicações e na eletrônica em geral. Trinta anos depois, os consultores puderam comprovar o erro que cometeram em suas previsões. Nas décadas de 70 e 80, Japão e Suécia efetivaram tecnologias próprias. No final da década de 80, a tecnologia já estava desenvolvida em quase todos os países. Só em 1990, o primeiro celular foi lançado no Brasil, no Rio de Janeiro, e em seguida, em Uberlândia (WIKIPEDIA, 2011). A segunda geração de celulares chegou logo no início dos anos 90 e, além de novos aparelhos com tamanho e peso aceitáveis, também aderiu a novos padrões de comunicação. Acesso Múltiplo por Divisão de Tempo (TDMA), Acesso Múltiplo por Divisão de Código (CDMA) e Sistema Global para Comunicações Móveis (GSM) eram as três tecnologias de comunicação que imperavam naquela época. Esta geração perdurou até a virada do milênio e trouxe novidades como:

17 17 O serviço de mensagem de texto (SMS): na época era pouco utilizado, pois as mensagens eram limitadas a poucos caracteres e não permitiam o uso de caracteres especiais. Além disso, era necessário que o celular do destinatário fosse compatível com o do remetente. Geralmente, um teclado alfanumérico estava presente nos celulares capazes de enviar mensagens de texto; Toques monofônicos e polifônicos: com o avanço da tecnologia, surgiram para substituir as campanhias um tanto quanto irritantes dos celulares mais antigos; Displays coloridos: os dispositivos monocromáticos não transmitiam tudo que os olhos podiam perceber. Logo, as fabricantes introduziram visores com escalas de cinza, recurso que permitia as pessoas distinguir imagens. Mas ninguém estava muito satisfeito ainda, pois tudo parecia muito irreal. Foi um grande susto quando surgiu o primeiro celular com quatro mil cores, uma tecnologia incrível para um aparelho tão pequeno. A partir daí, surgiram os aparelhos com 64 mil cores e, logo depois, com 256 mil cores agora as imagens já podiam ser vistas como no mundo real e não se percebia mais a falta de cores. A evolução continuou e hoje os aparelhos possuem 16 milhões de cores, recurso fundamental em aparelhos de alta resolução; Mensagens multimídia e Internet: com o advento das imagens coloridas, logo veio um novo recurso que possibilitava a troca de imagens entre celulares. Eram as mensagens multimídia, as famosas MMS. Com a evolução do serviço, tornou-se possível também o envio de vídeos. Mas o que as pessoas esperavam mesmo estava finalmente disponível nos celulares: a Internet. Evidentemente, ela não se parecia nem um pouco com a que era acessada através dos computadores pessoais. Havia a necessidade dos portais criarem páginas personalizadas para celular (páginas WAP), com conteúdo reduzido e poucos detalhes. Mas isso certamente iria evoluir muito em breve. Novos serviços eram implantados pelas operadoras de telefonia móvel e novas funções apareciam nos celulares. A geração 2,5G, não reconhecida oficialmente, foi marcada pelo aumento significativo da velocidade de acesso à Internet, pelas novas características dos aparelhos e por apresentar um novo conceito de celular aos usuários.

18 18 A implementação da câmera nos celulares foi um fato revolucionário. Apesar de até hoje a maioria dos celulares não possuir uma câmera de boa qualidade, naquela época foi uma grande novidade para os usuários um aparelho cuja função principal era a comunicação, trazer consigo este recurso. Uma função que se tornou um dos grandes atrativos nos celulares foi o suporte a reprodução de arquivos MPEG-1/2 Audio Layer 3 (MP3). O que hoje é comum, um dia já foi um grande luxo. Mesmo antes da existência desses arquivos, as fabricantes já cogitavam a idéia de reproduzir musicas no aparelho. O suporte a reprodução não se restringiu apenas a MP3, mas também a outros arquivos de áudio como o Advanced Audio Coding (AAC) e o Windows Media Audio (WMA), entre outros. Além disso, muitos fabricantes adicionaram equalizador, suporte a listas de reprodução, visualizações, entre outros. Hoje já não se fala muito em celular. O assunto predominante são os smartphones, termo que foi adotado devido à utilização de um sistema operacional nos celulares. Além do sistema operacional, estão incluídos nos smartphones redes sem fio (WiFi), câmera de qualidade razoável, bluetooth, memória interna com muito espaço ou espaço para cartão externo -, funções aprimoradas, suporte a redes de terceira geração (3G) e muito mais. Assim, a terceira geração de celulares chegou e trouxe com ela vantagens como videochamada, conexão de internet de alta velocidade, economia de energia nos aparelhos e funcionalidade de internet sem a necessidade de um aparelho celular (é possível utilizar a rede de internet 3G em Modems). Os dispositivos móveis evoluíram e de aparelhos sem fio destinados a comunicação com voz, com funcionalidades estáticas e codificadas em hardware, transformaram-se em dispositivos extensíveis, capazes de se conectar a Internet, transmitir dados e utilizar softwares avançados (MATTOS, 2005). A evolução continua e já se discutem idéias de como será a quarta geração de telefonia celular, apesar de que, como a 3G, ela demore algum tempo para chegar e se estabelecer. A quarta geração de celulares (4G) deve continuar investindo no avanço da transmissão de dados. É provável que os novos aparelhos comecem a trabalhar com o protocolo IP e sejam compatíveis com as redes de computador, tornando-se assim pequenos computadores.

19 DISPOSITIVOS MÓVEIS Estima-se que em 2020 o mundo terá cerca de 55 bilhões de dispositivos móveis, dentre os quais estarão celulares comuns, smartphones, Ipods, tablets e aqueles dispositivos que farão a comunicação entre máquinas. Isto sugere que a mobilidade irá superar largamente os limites atuais da telefonia celular móvel (SIQUEIRA, 2011). Nenhuma outra invenção se expandiu e alcançou tanto as pessoas em tão pouco tempo quanto o celular. O celular alcançou, em 30 anos, 5,3 bilhões de pessoas, numa população que se aproxima de 6,9 bilhões de habitantes. A previsão diz que, ao final de 2011, o mundo ultrapassará a marca dos seis bilhões de celulares. Televisão, rádio, computador pessoal e Internet, juntos, superam em apenas um bilhão a quantidade de usuários comparados aos de celulares. Quando se fala em dispositivo móvel, é comum pensar primeiramente em smartphone. Ambos viraram sinônimos. Porém, a variedade de dispositivos não se resume apenas aos smartphones. O número de novos dispositivos cresceu largamente na última década, com os laptops e seus modems 3G, netbooks e, ultimamente, os tablets. A tendência é que nos próximos dez anos estes dispositivos se multipliquem, num cenário em que a comunicação máquina-máquina deverá superar largamente a comunicação entre seres humanos. Do lado do usuário, haverá uma grande expansão na utilização da computação móvel, comercio móvel, videoconferência, televisão móvel e muitas outras aplicações da internet de banda larga móvel. O elemento de desequilíbrio deste cenário poderá ser o tablet, especialmente se for utilizado para recepção móvel de televisão, filmes, shows, revistas e livros, além de todas as outras funções hoje vistas nos smartphones. De acordo com dados revelados pela Wireless Intelligence 2, no Mobile World Congress 2011, maior evento sobre dispositivos móveis do mundo, realizado em 2

20 20 Barcelona no início de 2011, já existem países em que o número de celulares ultrapassa o número de habitantes. Na Europa, Itália (155), Portugal (140), Rússia (132), Alemanha (131), Espanha (128), Reino Unido (123), Ucrânia (120), Finlândia e todos os países escandinavos têm mais de 115 celulares por 100 habitantes. Na Ásia, a grande surpresa é a liderança do Vietnã, com 144 celulares por 100 habitantes. Em 2º lugar, vem o Japão, com 94 celulares em cada 100 pessoas. China e Índia são os dois maiores mercados do mundo. As estatísticas da China são surpreendentes. Em 10 anos, o número de celulares pulou de seis milhões para atuais 842 milhões. A China Mobile é a maior operadora do mundo, com mais de 600 milhões de assinantes. Na América Latina, a Argentina tem densidade expressiva de 133 celulares por 100 habitantes. No Brasil, a penetração já supera os 107%. Os países emergentes ocupam uma posição de destaque na expansão do celular no mundo. Nos países do BRIC (Brasil, Rússia, Índia e China) foram instalados 250 milhões dos 600 milhões de celulares postos em serviço no mundo inteiro em Devido ao fato de ter sido o continente em que a comunicação móvel chegou mais recentemente, a África apresenta o maior ritmo de crescimento. No Oriente Médio, a maior utilização se dá na Arábia Saudita (140 celulares a cada 100 pessoas) e em Israel (128 celulares a cada 100 pessoas). O Brasil disputa hoje com a Indonésia o quinto lugar entre os maiores mercados de telefonia do mundo. A Tabela 1 mostra o ranking com os sete países que lideram este mercado em número de celulares. Tabela 1 - Maiores mercados de telefonia do mundo País Número de celulares China 842 Índia 757 Estados Unidos 304 Rússia 220 Indonésia 209 Brasil 206 Japão 122 Fonte: SIQUEIRA, 2011

21 21 Como já se pode perceber, existem diversas categorias de dispositivos móveis. Estes grupos estão divididos por características como capacidade computacional, capacidade de armazenamento de dados, funcionalidades, recursos e tamanho. No primeiro grupo estão os laptops, notebooks e netbooks. Estes dispositivos são computadores portáteis, leves, que foram desenvolvidos para serem transportados e utilizados em qualquer lugar com facilidade. Possuem capacidade computacional equivalente a um desktop. No segundo grupo estão os Personal Digital Assistants (PDAs). Hoje já defasados, os PDAs possuem telas pequenas, mas tem um poder de processamento mais alto que o de telefones celulares, porém baixo se comparado à capacidade dos notebooks. Os PDAs suportam aplicativos desenvolvidos em linguagens de programação de alto nível, recursos multimídia, entre outros. Já foram bastante úteis na realização de tarefas simples. Seus aplicativos se propunham a gerenciar contatos, manejar despesas e organizar a agenda. Eram muito úteis na época dos monitores de tubo. Começaram a entrar em decadência quando surgiram os primeiros celulares com recursos parecidos. Hoje em dia, um aparelho que se assemelha aos PDAs antigos é o Ipod Touch (INFOWORLD/EUA, 2010) No terceiro grupo, estão os celulares e smartphones. Antes, estes aparelhos possuíam telas minúsculas e quase nenhum recurso. Porém, aparelhos com estas características já estão quase em desuso atualmente. Devido ao avanço tecnológico, a capacidade de memória destes dispositivos foi expandida, assim como o acesso a redes sem fio e o suporte a tecnologias avançadas, como o Java. Estes avançados aparelhos, conhecidos como smartphones, agora detém a maior fatia do mercado de celulares. Além de servir como telefone, estes aparelhos possuem recursos equivalentes ou até mais avançados que os existentes nos PDAs. São diversas marcas e modelos disponíveis, cada um com recursos, além de sistema operacional e poder de computação próprios. Os smartphones, com seus diversos recursos, colocaram em decadência pelo menos 10 gadgets que há algum tempo atrás ocupavam posição de destaque no mercado. Entre eles pode-se citar MP3 Players, consoles de videogame portátil, câmeras digitais, vídeo players,

22 22 gravador de voz, GPS, PDA, relógios de pulso, guia de ruas e televisores portáteis (BERTOLUCCI, 2011). No grupo mais recente, estão incluídos os leitores digitais, ou tablets. Inicialmente criados apenas para servirem como leitores de livros digitais, hoje funcionam como mini-computadores. Suas características se assemelham ao de PDAs e smartphones, porém com telas maiores, e mais recursos disponíveis. O tablet é um dispositivo móvel em forma de prancheta, que pode ser utilizado para acessar a Internet, visualizar fotos, ler livros, jornais e revistas, além de possuir recursos para organização pessoal e entretenimento com jogos de terceira dimensão (3D). A tela de touchscreen é o principal dispositivo de entrada, e suas funcionalidades podem ser acionadas pela ponta do dedo ou por uma caneta. Possui diversas funcionalidades semelhantes às de computadores completos e smartphones. Existem também os leitores de livros eletrônicos, que possuem recursos mais limitados que os tablets, e como o próprio nome já diz, servem para a leitura de livros em formato eletrônico. Como existem vários dispositivos numa mesma categoria, com características comuns e também diferentes, o desenvolvimento de aplicativos para dispositivos da mesma categoria pode variar. A forma de desenvolver uma aplicação, assim como a linguagem de programação utilizada irá depender do hardware e dos recursos disponíveis em cada aparelho. Durante o Mobile World Congress, o Iphone 4 foi escolhido o melhor dispositivo móvel da atualidade. Concorrendo com modelos lançados em 2010, como o Samsung Galaxy S, o HTC Desire e o LG Optimus 7, o aparelho foi escolhido pelo júri devido a fatores como design, qualidade da tela e ecossistema fenomenal (VEJA, 2011). A HTC foi escolhida a melhor fabricante do mundo, sendo considerado o seu rápido avanço no mercado, com um ótimo portfólio de produtos disponíveis em diversas plataformas (ver seção 3.4) como as desenvolvidas por Google e Microsoft.

23 PLATAFORMAS E LINGUAGENS Existem vários sistemas operacionais para dispositivos moveis. Todos eles possuem plataformas para desenvolvimento e execução de seus aplicativos. Cada plataforma possui suas particularidades tais como linguagens suportadas (uma plataforma pode suportar mais de uma linguagem de programação, a exemplo do Symbian, que suporta as linguagens J2ME, Symbian C++ e Python, entre outras), recursos mínimos e aparelhos compatíveis. Isto significa que uma aplicação desenvolvida para uma plataforma não funcionará em outro. O primeiro sistema operacional para dispositivos móveis a se popularizar foi o PalmOS (MENDONÇA, 2007). Desenvolvido há quase 10 anos, chegou a atingir quase 90% do mercado mundial de palmtops nos tempos áureos. O sistema realizava tarefas simples muito bem, mas deixava a desejar em questões mais sofisticadas, como multitarefa ou recursos de segurança. Apesar de limitado, era surpreendentemente rápido e responsível. O desenvolvimento do PalmOS parou já há alguns anos, e foi substituído por uma nova plataforma, um sistema multitarefa chamado WebOS, baseado em Linux, destinado a smartphones. Além do Android, que será abordado logo mais, existem outras cinco plataformas mais fortes no mercado atualmente. É provável que, em alguns anos, algumas delas já não existam mais, com duas ou três dominando o mercado. Java 2 Micro Edition (J2ME): criada pela Sun e atualmente mantida pela Oracle (após esta ter adquirido a Sun) é a plataforma Java voltada para dispositivos com recursos de hardware e software ilimitados. Pelo fato de necessitar-se apenas de uma máquina virtual (JVM Java Virtual Machine) para executar aplicativos na linguagem J2ME, é suportada por um grande número de aparelhos. É uma plataforma gratuita, com diversas Integrated Development Environments (IDEs) disponíveis, sendo a maior comunidade de desenvolvedores móveis. Os sistemas operacionais que dão suporte a ela são: Symbian (UIQ, S30, S40, S60, S80, S90), Palm Os, Linux, Brew, BlackBerry e Microsoft Windows Mobile. A desvantagem do J2ME é estar muito desatualizado. Mesmo sendo a plataforma mais popular e utilizada, sua última especificação foi feita em 2002, quando os aparelhos ainda não

24 24 possuíam tantos recursos como os de hoje. Como conseqüência, o destino do J2ME é perder espaço e entrar em desuso, devido à ascensão de plataformas mais novas e atualizadas, como o Android e o Iphone. A linguagem Java é também utilizada em outras plataformas, como o BlackBerry e o Android, que veremos a seguir. É provável que, se não for lançada uma nova versão da plataforma (3.0) brevemente, o J2ME deixe de ser adotado. Iphone Operating System (IOS): mantido pela Apple, possui sua própria plataforma de desenvolvimento e suporta aplicativos desenvolvidos apenas na linguagem Objective C através da ferramenta Iphone Software Development Kit (SDK). O Iphone SDK possui versões para Linux e Windows, por isso é necessário ter um computador com o sistema MAC OS instalado. Apesar do alto custo para iniciar o desenvolvimento e do grande número de aplicativos já existentes, a demanda por estes continua a crescer, sendo o Iphone uma das plataformas com maior índice de crescimento. BlackBerry: os aparelhos são desenvolvidos pela Research in Motion (RIM) e possuem sistema operacional próprio, o BlackBerry OS. Possui sua própria linguagem de desenvolvimento, uma Interface de Programação de Aplicações (API) Java criada pela RIM, que oferece diversos recursos para que o desenvolvedor explore melhor o aparelho. O BlackBerry suporta também aplicativos desenvolvidos em J2ME, porém sem acesso a recursos que a API juntamente com a ferramenta BlackBerry JDE possibilitam a utilização. O BlackBerry já foi líder no mercado de smartphones, mas nos últimos anos perdeu algum espaço para Iphone e Android, porém continua entre os dispositivos mais utilizados. A plataforma tem popularidade destacável principalmente no mercado corporativo. Desenvolver para BlackBerry é difícil, pois apesar de utilizar Java, sua API possui particularidades que dificultam o processo e a base de conhecimento não é muito difundida. Somente agora, após perder espaço no mercado, é que a RIM tem visado facilitar o desenvolvimento, lançando novas versões da sua plataforma. Symbian: é o sistema operacional utilizado pela maioria dos aparelhos de hoje, já foi mantido por um consórcio de diversos fabricantes, como Nokia, Siemens, Samsung, Ericsson, Sony Ericsson e Panasonic. Atualmente

25 25 pertence à Nokia, que adquiriu quase a totalidade de suas ações no final de A grande preocupação do Symbian é evitar ao máximo o desperdício dos recursos do celular, como bateria e memória. É um sistema totalmente modular, o que permite cada empresa criar sua própria interface. Devido a sua versatilidade, permite o desenvolvimento de aplicativos em diversas linguagens, como Symbian C/C++, Java ME, FlashLite, HyperText Markup Language (HTML) 5, Perl, Python, Ruby, Lua, Acelerômeter e QT. A Nokia oferece uma IDE gratuita para desenvolvimento, a Carbide C++, baseada no Eclipse. O Symbian é utilizado na Series 60, atualmente a maior plataforma para smartphones, desenvolvida pela Nokia e utilizada também pela Ericsson (WIKIPEDIA, 2011). Windows Mobile/Windows Phone: é o sistema operacional móvel da Microsoft. Inicialmente conhecido como Pocket PC, ganhou o nome de Windows Mobile quando passou para uma versão que servia tanto para palmtops (Pocket PCs) quanto para celulares (smartphones) e também em outros aparelhos de multimídia em geral. Assim, as aplicações rodavam em ambos os dispositivos, sem alteração alguma. O Windows Mobile foi projetado para realizar boa parte do que é possível na versão do Windows para computadores pessoais, vindo com um conjunto de aplicações básicas bastante conhecidas no mundo do PC, como o Word, Excel, PowerPoint e Windows Media Player Pocket. O Windows Mobile foi sucedido pelo Windows Phone 7, lançado no final de O Windows Phone 7 foi totalmente reescrito, não sendo baseado nas versões anteriores do Windows Mobile, apresentando uma interface gráfica totalmente nova, não permitindo a personalização das interfaces e controlando rigorosamente todo o hardware do sistema operacional (WIKIPEDIA, 2011). Existem outras plataformas menos utilizados no mercado, como o Bada e o MeeGo, ambos baseados em Linux e de código aberto. O primeiro foi projetado exclusivamente para celulares Samsung. O segundo surgiu de uma parceria entre Nokia e Intel, que tem como foco levar o MeeGo além dos celulares e expandi-lo para netbooks,tvs, PDAs, GPS e tablets, realizando a integração entre todos os dispositivos onde estiver instalado, facilitando a comunicação entre os usuários desses aparelhos (CAMARGO, 2010).

26 APLICATIVOS MÓVEIS Milhares de aplicações móveis surgem todos os dias e exploram as diversas potencialidades das novas tecnologias de comunicação. Os aplicativos móveis são programas produzidos para dispositivos móveis como celulares, pagers, smartphones, tablets e alguns tipos de netbooks. Hoje em dia, mesmo os celulares mais simples possuem diversos aplicativos e ainda há a possibilidade de instalar novos aplicativos. Um estudo realizado pela Nokia, em parceria com um renomado professor da universidade americana Cornell University, mostrou que 55% dos usuários de smartphones acreditam que os aplicativos móveis influenciam beneficamente suas vidas. (CONVERGÊNCIA DIGITAL, 2011) Os smartphones, celulares com características que podem se comparar a computadores pessoais, como capacidade e funcionalidades, abriram caminho para o desenvolvimento do mercado de aplicativos móveis. Existe uma grande diferença entre os aplicativos móveis e as aplicações baseadas em web. Enquanto estas têm sua arquitetura baseada em um cliente central, que é o navegador web, as aplicações móveis tem arquitetura baseada em cliente-servidor, adotada pelos softwares que dominavam o mercado antes que a Internet explodisse no mundo da tecnologia. Essa pequena diferença impacta bastante no desempenho e na usabilidade das aplicações, o que será tratado na seção posterior. Os aplicativos podem ser utilizados com diferentes objetivos, tanto para aplicações pessoais quanto comerciais. Inicialmente, os aplicativos eram simplesmente ferramentas de escritório, como agenda, calendário, entre outros. Com o avanço dos recursos disponíveis nos dispositivos, abriu-se um leque de oportunidades a serem exploradas pelos desenvolvedores.

27 27 Existem infinitas possibilidades para o mercado de aplicativos móveis: informação, entretenimento ou serviço (PAPERCLIQ, 2009). De acordo com o estudo da Nokia, a coleção de aplicativos que uma pessoa possui em seu dispositivo demonstra suas necessidades, personalidade e interesses. Aplicativos de grande sucesso hoje em dia são os que permitem acesso, mesmo que muitas vezes limitado, a determinadas funcionalidades de redes sociais, mantendo o usuário conectado a sua rede de contatos em qualquer lugar que estiver. Cada plataforma possui um repositório próprio para que os desenvolvedores disponibilizem suas aplicações. Cada uma possui um conjunto de regras próprio para o compartilhamento dessas aplicações, assim como uma política de vendas e downloads. Tais repositórios são conhecidos como lojas de aplicativos, e as mais importantes são a Apple App Store, a Blackberry App World (RIM), a Ovi Store (Nokia) e o Android Market. A receita global das lojas virtuais de aplicativos para smartphones cresceu 160,2% em 2010, movimentando US$2,2 bilhões, mais que o dobro em relação aos US$828 milhões registrados em 2009, segundo pesquisa da IHS isuppli. Líder absoluta do segmento, a Apple App Store respondeu por 82% do total das vendas. Em segundo lugar, apareceu a loja de aplicativos do BlackBerry, da RIM. O avanço mais expressivo se deu por parte da Android Market, da Google, que pulou para 4,7% crescimento de 3,3% em relação a 2009, e se aproximou da Ovi Store, loja de aplicativos da Nokia, atual terceira colocada. (TI INSIDE, 2011) Em termos de número de downloads, a IDC prevê que ele cresça de 10,9 bilhões em 2010 para 76,9 bilhões em Assim, acredita-se que o faturamento do setor ultrapasse US$35 bilhões até (IMASTERS, 2010) 2.5 MOBILIDADE, USABILIDADE E EFICIÊNCIA Geralmente, o objetivo dos usuários ao acessar websites ou aplicativos móveis é obter informações imediatas. Por isso, é de grande importância que a forma de

28 28 apresentação e a interface do dispositivo sejam adequadas para atender tais necessidades. O tipo de arquitetura utilizado pelas aplicações móveis pode causar grande impacto no desempenho e na usabilidade do aplicativo. São dois os tipos de arquitetura mais comuns, via web (HTML) ou com clientes específicos para cada plataforma (cliente-servidor). Nos aplicativos cliente, boa parte do conteúdo já está presente no aparelho: camada visual, tabelas, imagens, textos-padrão, entre outros. O que trafega pela rede são basicamente as informações necessárias para popular o aplicativo, que geralmente são textos simples e trafegam rapidamente pela rede. Na abordagem web, todo o conteúdo tem de ser carregado do servidor para o dispositivo, sendo necessário fazer o download de tudo a cada requisição. Além de ser mais lento, sai mais caro para o usuário, que precisa pagar pelo tráfego de dados. Além disso, a usabilidade das aplicações web é limitada pelo conjunto de recursos da linguagem HTML, mesmo que os navegadores móveis estejam evoluindo. Ainda são poucos os elementos de interface disponíveis para interatividade, como caixas de seleção e escolha, pop-ups, alertas, tabelas e alguns outros. Mesmo com as facilidades de acesso à Internet pelo celular, a experiência de uso das interfaces ainda carece de melhorias. Pesquisas e estudos apontam alguns problemas e motivos para a insatisfação dos usuários (AVELLAR E DUARTE, 2010): A velocidade das conexões impede que os sites carreguem mais rápido; Dificuldade de configuração dos serviços pelos usuários; Programas simples como uma agenda de manuseio complicado, devido ao design inadequado do hardware; Informações e conteúdo aproveitados diretamente de websites planejados para PCs, pouco adaptados para o ambiente móvel. Uma aplicação deve ser projetada e planejada para que funcione sem problemas no dispositivo móvel desejado. É necessário que o projeto tenha em vista

29 29 o tamanho reduzido das telas, para que a exibição do conteúdo não sofra nenhum distúrbio. Além disso, em termos de eficiência na utilização dos recursos, o ideal é usar somente o necessário. Assim, evita-se o processamento exagerado no dispositivo e, em conseqüência, o consumo alto de memória, o que poderia causar travamentos, além de outros problemas. A simplicidade e a facilidade de uso são extremamente importantes, pois fazem com que o usuário realize as tarefas desejadas correta e rapidamente. Se o usuário encontrar alguma dificuldade na primeira tentativa de uso, é provável que ele não use mais o aplicativo (NUNES, 2011). Projetar a aplicação para executar apenas tarefas simples ou em um servidor remoto são alternativas para alcançar essa simplicidade. Planejar com cuidado a aplicação é o ponto mais importante. O conserto de um aplicativo já pronto, para caber na memória do dispositivo, por exemplo, pode dar muito mais trabalho do que tomar precauções para que esses erros muito comuns sejam evitados. 2.6 SEGURANÇA Os dispositivos móveis armazenam muitas informações importantes, como números de telefone, endereços pessoais, oportunidades de negócios, senhas e documentos. Além disso, estes aparelhos estão cada vez mais conectados à internet, seja através de 3G ou Wifi, além de aplicações que permitem ao usuário visualizar e manipular contas financeiras, cotações de leilão e contas de compras com cartão de crédito estarem se tornando cada vez mais comuns. Por isso, os dispositivos móveis também estão vulneráveis a ataques maliciosos provocados por malware instalados nos mesmos. O número destes ataques aumentou mais de 45% em 2010, e a falta de conhecimento sobre as ameaças móveis por parte dos usuários e a falta de segurança dos dispositivos, faz com que a vulnerabilidade aumente (KATKAR, 2011).

30 30 A maioria das pessoas desconhece que as mesmas práticas que as deixam vulneráveis, como abrir links desconhecidos ou instalar programas pouco confiáveis, ou as protegem, como utilizar um antivírus, em seus computadores pessoais também são aplicados aos seus aparelhos portáteis. Existem diversos motivos que deixam os dispositivos móveis suscetíveis a ataques. Dentre eles está a distribuição de aplicativos através de lojas de terceiros, onde não há regras de certificação de aplicações. O uso regular do e as limitações atuais dos browsers móveis tornam mais difícil a identificação de mensagens e sites fraudulentos. Para melhorar este cenário, seria interessante adotar uma cultura de segurança móvel. A primeira medida que o usuário deve tomar é utilizar sempre a última versão do sistema disponível para o seu aparelho, estando sempre atento às atualizações. Outra postura que deve ser mantida é instalar apenas aplicativos disponibilizados por alguém confiável, de preferência apenas aqueles que estão na loja oficial do sistema. Os antivírus também já fazem parte do cenário dos dispositivos móveis. Mesmo mais leves que aqueles utilizados nos computadores, eles estão presentes rodando em background e analisando todo arquivo que o usuário tente abrir (Tech Dreams Brasil, 2011).

31 31 3 A PLATAFORMA ANDROID Visando ocupar um lugar de destaque também neste nicho de mercado, a Google, empresa que provocou uma grande revolução na internet nos últimos anos, juntouse a empresas do mercado de telefonia celular e criou um grupo chamado de Open Handset Alliance (OHA), com o objetivo de criar uma plataforma única e aberta para celulares que trouxesse maior satisfação dos consumidores para com o produto final. Fonte: SILVEIRA, 2010 Figura 1 - Logo do Android A esta nova plataforma de desenvolvimento para aplicativos móveis foi dado o nome de Android. Ela é baseada em um sistema operacional Linux, com diversas aplicações já instaladas e ainda, um ambiente de desenvolvimento bastante poderoso, ousado e flexível. Além disso, utiliza-se a linguagem Java para desenvolver as aplicações, podendo ser usados todos os recursos que ela oferece (LECHETA, 2010). O anúncio do Android, no início de novembro de 2007, atraiu grande atenção, pelo motivo de seu desenvolvimento estar sendo liderado pelo grande nome da Internet atualmente, a Google e, além dele, grandes outras empresas como a HTC,

32 32 LG, Motorola, Samsung, Sony Ericsson, Toshiba, Sprint Nextel, China Mobile, T- Mobile, ASUS, Intel, Garmin e muitas outras 3, que formam a OHA. Antes do anúncio do Android, especulava-se que a Google iria lançar um aparelho (hardware), como o Iphone, intitulado Gphone. Mas o que se viu foi o lançamento de uma nova plataforma (software). Sendo um software, o Android está ao alcance de todos, podendo rodar em qualquer aparelho móvel, não importando a marca. É como o Microsoft Windows, que pode rodar em qualquer computador pessoal (LIMA, 2007). A vantagem do Android para os fabricantes de celulares é a existência de uma plataforma única e consolidada e, além disso, livre e de código aberto 4. Sua licença flexível permite que cada fabricante realize modificações no código-fonte de acordo com suas necessidades e objetivos, sem a necessidade de compartilhá-las e sem precisar pagar nada pela utilização da plataforma. Também pelo fato de ser de código aberto, o Android pode ser aperfeiçoado por desenvolvedores de todo o mundo, que podem contribuir para seu código-fonte, corrigindo falhas e criando novas funcionalidades. Uma grande característica, se não a maior, do Android é possuir uma arquitetura bastante flexível, focada na integração de aplicações. Não há diferença entre uma aplicação nativa e outra desenvolvida por uma pessoa ou empresa. Isso significa que aplicações nativas podem ser integradas com novas aplicações, ou até mesmo substituídas pelas criadas. Isso é bastante interessante para operadoras e fabricantes de celulares, que tem a possibilidade de trocar telas e funcionalidades do celular de acordo com seu plano de marketing. A Motorola, por exemplo, desenvolveu o MotoBlur, uma repaginação do Android, que integra a plataforma com um conjunto de serviços que agrega redes sociais, e outros serviços da nuvem (AURICCHIO, 2009). 3 A lista completa dos integrantes do grupo pode ser vista em 4 O download do código-fonte do Android pode ser feito no site:

33 33 Durante a operação do sistema operacional Android, mensagens são disparadas o tempo todo para indicar a intenção do usuário de realizar determinada tarefa. Para isso existe uma classe, chamada de Intent, que é o coração do Android. De acordo com o conteúdo da mensagem, qualquer aplicação interessada neste pode interceptá-la e executar a tarefa necessária. Por exemplo, se existe a intenção de abrir uma aplicação nativa, como o browser, ou abrir uma nova tela de uma aplicação, basta criar um novo objeto Intent e configurar o conteúdo de sua mensagem para que possa ser reconhecido pelo sistema operacional. Outro ponto forte do Android é o sistema operacional baseado em Linux, onde ele mesmo é o encarregado de gerenciar a memória e os processos. Assim, diversas aplicações podem ser executadas ao mesmo tempo, sendo que aplicações que executam em segundo plano não são percebidas pelo usuário enquanto este acessa a internet ou atende uma ligação, por exemplo. Entre os demais recursos do Android pode-se citar: o Framework de Aplicação, que permite a incorporação, a reutilização e a substituição de recursos dos componentes; a Máquina Virtual Davik, máquina virtual otimizada para dispositivos móveis; Navegador Web Integrado, baseado na engine open source WebKit; Gráficos Otimizados, com gráficos e tratamento de imagens através de uma biblioteca 2D e gráficos 3D baseados na especificação OpenGL ES 1.0, que tornam possível a criação de jogos excelente qualidade de resolução; SQLite, gerenciador de banco de dados embutido; Suporte Multimídia a diversos formatos de som, vídeo e imagens, nativamente; Telefonia GSM, mesmo apresentando limitações dependentes de hardware, integração facilitada a tecnologias GSM; protocolos de comunicação Wireless, também com as limitações da telefonia GSM, suporta a tecnologia Bluetooth EDGE, 3G e Wi-Fi; Câmera, GPS, bússola e acelerômetro: integra-se facilmente a hardwares para câmeras embutidas e localização via GPS, como bússola e acelerômetro, ambos dependentes das limitações do hardware; Poderoso Ambiente de Desenvolvimento, com emulador de dispositivo, ferramenta para depuração, analisador de memória e performance e um plugin para a IDE Eclipse, o Android Development Tools (ADT) (PEREIRA, et al., 2009).

34 34 Além disso, existem também os recursos visuais e funcionalidades que impressionam o usuário comum. Através da navegação de telas por meio de touch screen, o usuário tem uma ótima experiência na utilização do aparelho. A plataforma Android já tem atingido, além dos celulares e tablets, netbooks, máquinas digitais, televisão e até mesmo carros, fazendo com que ela atinja mercados onde outras plataformas, como o Java ME, não conseguiram grande penetração (SILVEIRA, 2010). Com uma visão de futuro, o Android pode ser um potencial sistema operacional para desktops. Indício disso é que muito já se falou sobre o possível GoogleOS, existindo a possibilidade do Android ser o futuro GoogleOS camuflado, onde suas experiências podem ser de uma certa maneira transportadas para o desktop (LIMA, 2007). 3.1 ARQUITETURA DO ANDROID Já foi visto que o Android possui uma arquitetura bastante flexível. Ela é estruturada em cinco camadas, cada uma com uma funcionalidade específica, como pode ser visto na Figura 2 e descritas abaixo (GOOGLE, 2011): Fonte: GOOGLE, 2011 Figura 2 - Arquitetura do Android

35 35 Aplicações Na camada superior (Applications), localizam-se as aplicações fundamentais do Android, como cliente de , mapas, navegadores, calendários, programas de SMS, agenda, gerenciadores de contatos, entre outros. Framework Nesta camada localizam-se todas as APIs e os recursos necessários para os aplicativos, como classes visuais, que incluem listas, grandes, caixas de texto, botões e até um navegador web embutido, View system (componentes que constroem aplicativos), provedor de conteúdo (Content Provider), que possibilita o acesso a informações de uma aplicação por outra, ou o compartilhamento de informações, que possibilita a troca de informações entre aplicativos e gerenciadores de recursos, gerenciador de localização, gerenciador de notificação, de pacotes e de atividade, que controla o ciclo de vida da aplicação e o acesso e navegação entre as aplicações (AQUINO, 2007). Os principais elementos dessa camada são: o Activity Manager gerencia o ciclo de vida das activities, no início e no final de sua execução, possibilitando o deslocamento de uma activity para outra e assim por diante. o Package Manager utilizada pelo Activity Manager para ler as informações dos Pacotes de arquivos do Android (APK s). O package manager se comunica com o resto do sistema e verifica os pacotes que estão sendo utilizados pelo sistema e suas capacidades. o Window Manager gerencia as apresentações de janela, indicando aquela que está ativa e assim por diante. o Content Providers possibilita a troca de informações entre os aplicativos, através do compartilhamento de dados. o View System disponibiliza todo o tratamento gráfico para a aplicação, como botões, layouts e frames.

36 36 Nesta camada também se localizam outros elementos, como Location Service, Bluetooth Service, Wi-Fi Service, USB Service, e Sensor Service. Todos os componentes disponíveis no Android têm acesso pleno às APIs utilizadas pelo núcleo da plataforma. A reutilização de componentes é simplificada, possibilitando que qualquer aplicação publique suas capacidades e que estas possam ser reutilizadas por outra aplicação, dependendo apenas de restrições de segurança. Bibliotecas O Android possui um conjunto de bibliotecas desenvolvidas em C/C++, que são utilizadas por vários recursos do sistema. Estas bibliotecas são acessadas pelos frameworks disponibilzados aos desenvolvedores. Dentre as principais bibliotecas estão: o Freetype utilizada para renderizar fontes e bitmaps; o System C library sua implementação deriva da biblioteca C padrão sistema (libc) do Berkeley Software Distribution (BSD); o Webkit baseia-se no código aberto do browser webkit, um renderizador de páginas para navegadores, com suporte a Cascading Style Sheets (CSS), Javascript, Doom e Ajax; o SQLite engine de banco de dados relacional, implementada em C, leve e embutida. o SGL responsável pela composição de gráficos 2D; o Surface Manager controla e gerencia o acesso aos subsistemas de exibição, como as camadas de aplicações 2D e 3D; o Media Libraries suportam diversos formatos de áudio e vídeo, bem como imagens estáticas, e hardware e software de plug-ins de codec; o LibWebCore utilizada para exibições web e no Android Browser; o 3D libraries baseadas nas API s do OpenGL ES 1.0.

37 37 Android Runtime Pequena camada do ambiente de execução, que é instanciada a cada execução de uma aplicação no Android. O Dalvik foi projetado de forma que várias máquinas virtuais possam executar concorrentemente de maneira eficiente. As classes compiladas por um compilador Java (arquivos.class) são convertidas para a máquina virtual através da ferramenta DX, distribuída com o Android SDK, gerando um arquivo.dex (Dalvik Executable), que é executado pelo Dalvik. O Dalvik baseia-se no kernel do Linux para prover a funcionalidade de múltiplas threads e a gestão de baixo nível de memória. O Core Librarie fornece a maioria das funcionalidades disponíveis nas principais bibliotecas do Java, através de um grupo de bibliotecas. Estruturas de dados, acesso a arquivos e acesso a redes e gráficos são algumas dessas funcionalidades. Linux Kernel A versão 2.6 do kernel do Linux é utilizada pela arquitetura do Android. O kernel funciona como uma camada de abstração entre o hardware e o resto da pilha de software, além de servir para os serviços centrais do sistema, como segurança, gestão de memória, gestão de processos, pilha de protocolos de rede e modelos de drivers. Além disso, nesta camada também existe um poderoso gerenciador de energia, onde um aplicativo solicita o gerenciamento de energia e o driver de energia do kernel passa a checar periodicamente a utilização de todos os dispositivos, desligando aqueles que não estão sendo utilizados.

38 MÁQUINA VIRTUAL DALVIK A linguagem Java é utilizada para a construção de aplicações para o Android. Nesta abordagem, existe uma máquina virtual otimizada para execução em dispositivos móveis, chamada Dalvik. As aplicações do Android são desenvolvidas normalmente com o Java, utilizando-se todos os seus recursos, porém após o bytecod (.class) ter sido compilado, ele é convertido para o formato.dex (Dalvik Executable), que é a aplicação do Android compilada. Após isso, os arquivos.dex e outros recursos como imagens são compactados em um arquivo com extensão.apk (Android Package File), que é a aplicação final, pronta para ser distribuída e instalada. 3.3 ANDROID SDK O Android SDK 5 é o software usado no desenvolvimento de aplicações no Android. Ele contém um emulador que simula o celular, ferramentas utilitárias e uma API completa para a linguagem Java, com todas as classes necessárias para desenvolver as aplicações. O Android SDK pode rodar em uma IDE como o Eclipse, Intellije e Netbeans. Pode ser desenvolvido também utilizando a linha de comando. A IDE Eclipse é a mais utilizada pelos desenvolvedores. Ela possui um plugin customizado, chamado Android Development Tool (ADT), que fornece suporte à edição de vários tipos de arquivos. O emulador contido no SDK pode simular diversos tipos de hardware. Ele representa perfeitamente o funcionamento de um celular com o Android. Tudo que executa num celular, pode ser executado no emulador. Um exemplo de emulador pode ser visto na Figura 3. 5 O Android SDK pode ser baixado em

39 39 Fonte: GOOGLE, 2011 Figura 3 - Emulador do Android Outro componente incluso no SDK é o Dalvik Debug Monitor Service (DDMS), que possibilita o acompanhamento de todos os processos que executam no hardware durante a aplicação, podendo simular inclusive o envio e recebimento de ligações e mensagens de texto. 3.4 VERSÕES DO ANDROID Existem diversas versões do sistema operacional do Android, e cada celular possui uma versão diferente. O primeiro celular Android, o HTC G1, possuía a versão 1.1 (LECHETA, 2010) e, obviamente, os mais novos dispositivos saem com versões mais recentes. No Android, uma versão do sistema operacional é conhecida como plataforma. Cada plataforma tem um código identificador, conhecido como API Level. A Figura 4 mostra as plataformas existentes até o momento da escrita deste trabalho, e as versões correspondentes do Android.

40 40 Fonte: GOOGLE, 2011 Figura 4 - Versões do Android As primeiras versões, até o Android 2.3, são utilizadas em smartphones. Já as versões mais novas, Android 3.0 e Android 3.1 são utilizadas pelos tablets, possuindo novos recursos disponíveis apenas para esses dispositivos. Para o futuro, a Google já anunciou uma nova versão, que se chamará Ice Cream Sandwich e tem como objetivo integrar smartphones e tablets, colocando todos os aparelhos móveis na mesma página, através de um sistema operacional modular (PC WORLD, 2011). 3.5 COMPONENTES DA APLICAÇÃO No Android, existe um grupo de quatro componentes essenciais, que o sistema pode instalar e executar sempre que necessário. Toda aplicação deve utilizar ao menos um desses componentes, não sendo necessária, entretanto, a utilização de todos eles ao mesmo tempo. Sempre que forem utilizados por uma aplicação, estes elementos devem ser declarados num arquivo Extensible Markup Language (XML), chamado AndroidManifest.xml. Neste arquivo estão contidos todos os componentes da aplicação, além das capacidades e requerimentos para tais (LECHETA, 2010). Os quatro componentes principais são: Activities; Intent Receivers ou Broadcast Receivers; Services;

41 41 Content Providers. A Activity (Atividade) é o componente mais comumente utilizado. Na maioria das vezes, é representado por uma tela na aplicação. Uma activity é sempre implementada como uma classe que extende da classe base Activity. Sua interface é composta por Views, que consistem em várias telas que respondem a eventos previamente programados. Cada activity possui um ciclo de vida específico, que é definido através dos seguintes métodos: oncreate(): chamado na criação inicial da atividade; onstart(): chamado quando a aplicação se torna visível para o usuário; onresume(): chamado quando a aplicação inicia a interação com o usuário, ficando no topo da pilha de atividade; onpause(): chamado quando uma outra atividade está prestes a começar. Geralmente as informações que ainda não foram salvas são gravadas neste momento; onstop(): chamado quando a atividade não está mais em uso e perdeu foco para outra atividade; ondestroy(): chamado quando a atividade termina, ou quando o sistema precisa liberar recursos, finalizando a atividade.

42 42 Fonte: adaptado de LECHETA, 2010 Figura 5 - Ciclo de vida de uma activity O ciclo de vida de uma activity, mostrado na Figura 5, funciona da seguinte maneira: quando uma atividade é iniciada, esta é colocada no topo da pilha de atividades e se torna a atividade em execução. Se existir alguma activity anterior, esta permanece na posição logo abaixo, e só passa para o estado Executando quando a activity acima for finalizada. Uma activity pode se encontrar em quatro estados: Executando: a atividade está ativa no dispositivo; Parada: a atividade perdeu foco para outra, mas mantém todas as suas informações de estado, mesmo sem interagir com o usuário. Pode ser finalizada se o sistema estiver com baixo nível de memoria disponível;

43 43 Interrompida: a atividade não está sendo utilizada pelo usuário, mas mantém suas informações de estado. Geralmente é finalizada quando uma recuperação de memória é necessária e assim perde suas informações; Finalizada: a atividade pode ser removida, caso esteja parada ou interrompida temporariamente. Nesse caso, o estado anterior só pode ser restaurado se o desenvolvedor tiver implementado os métodos. Existem basicamente três ciclos numa atividade: Ciclo completo: começa no oncreate(), quando toda configuração é realizada, e termina no ondestroy(), com a liberação de todos os recursos utilizados pela atividade; Ciclo de vida visível: começa no onstart(), quando a atividade fica disponível e visível para o usuário, mesmo não havendo interação. Termina com a chamada a onstop(), quando o usuário não visualiza mais a atividade; Primeiro ciclo da atividade: começa no onresume() e termina no onpause(). É quando a atividade está visível e em interação com o usuário, no topo da pilha de atividades. O código neste período deve ser leve, devido a iminente troca dos estados onpause() e onresume(). O movimento entre as atividades é dado através da Intent, que representa a intenção de cada activity, ou seja, ela define o que deve ser feito caso seja acionada. A classe Intent Filter descreve todas as ações (Intents) que uma atividade pode acionar. Assim, quando uma Intent é acionada, o sistema busca os filtros de intenção de todas as atividades e escolhe aquela mais adequada com aquela Intent. Então, a nova activity é informada do interesse, carregando uma nova tela. Cada activity deve ser configurada no arquivo AndroidManifest.xml, utilizando a tag <activity>, como no exemplo da Figura 6, em que a activity ExemploActivity1 é a activity principal da aplicação.

44 44 Fonte: Adaptado de LECHETA, 2010 Figura 6 - Exemplo de Activity Os Services são códigos sem interface de usuário, que rodam em background e não são interrompidos pela troca de atividade pelo usuário. Diferentemente das activities que possuem ciclo de vida próprio e vida curta, os services mantém o serviço ativo até que seja recebida outra ordem. Através de uma interface de serviço a aplicação pode se conectar com um serviço conectado. Um serviço geralmente consome muitos recursos, além de memória e CPU. Não precisa de interface gráfica, pois não há necessidade de interação com o usuário. Um processo da classe Service pertence ao ciclo de vida controlado pelo sistema operacional do Android e é mantido em execução até que seja necessário encerrar alguns processos para liberar memória e recursos. O uso da classe Service poderia ser substituído pela utilização de uma thread simples, porém isto não é recomendado pois o Android conhece a classe Service e pode gerenciar o seu ciclo de vida junto com os outros processos do sistema operacional. Ou seja, se uma thread for utilizada ela pode ser eliminada pois não faz parte do ciclo de vida conhecido do Android. Por outro lado, existe um controle sobre o ciclo de vida da classe Service, que tem prioridade máxima sobre qualquer outro processo executando em segundo plano e somente será encerrado em condições críticas de memória (LECHETA, 2010). Mesmo que um Service seja encerrado, o Android posteriorimente tentará iniciálo para que o processo continue assim que as condições de memória e os recursos usados estejam normais. Assim, o serviço deve ser codificado de uma forma que seja possível recuperar o seu estado no momento de seu encerramento. Geralmente, um Service é iniciado por um Broadcast Receiver.

45 45 O Broadcast Receiver ou Intent Receiver é o componente responsável por tratar a reação ao evento recebido através de uma intenção. Ele não possui uma interface com o usuário, mas pode interagir com o usuário através de um gerenciador de notificações (Notification Manager), um mecanismo que alerta o usuário sobre a ocorrência de algum evento de interesse. A classe BroadcastReceiver sempre é executada em segundo plano durante pouco tempo e não há interface gráfica. Seu objetivo é receber uma mensagem (Intent) e processá-la sem o usuário perceber. O BroadcastReceiver é configurado no arquivo AndroidManifest.xml, utilizando a tag <receiver> em conjunto com a tag <intent-filter>, definindo uma ação e uma categoria. Na Figura 7 podemos visualizar a configuração da classe ExemploReceiver1 que pode interceptar uma mensagem com a ação FAZER_ALGO. Fonte: Adaptado de LECHETA, 2010 Figura 7 - Exemplo BroadcastReceiver O último componente é o Content Provider, ou provedor de conteúdo, utilizado quando existe a necessidade de compartilhar dados da aplicação com outras aplicações. Através dele, um repositório utilizado por ambas as aplicações permite o armazenamento e a recuperação de dados. Utilizando a classe ContentProvider, uma aplicação pode consultar, inserir, alterar e excluir informações de uma outra aplicação. O Android tem uma série de provedores de conteúdos nativos, como por exemplo, consultar os contatos da agenda, visualizar os arquivos, imagens e vídeos. Há um padrão na forma de comunicação da aplicação com um provedor de conteúdo, independetemente de ter sido criado pelo desenvolvedor ou ser nativo do Android.

46 INTERFACE GRÁFICA A interface gráfica de uma aplicação Android é construída utilizando-se objetos das classes View e ViewGroup. Existem diversos tipos de objetos e todos eles são descendentes da classe View (GOOGLE, 2011). A classe View serve como base para subclasses chamadas widgets, que oferecem objetos de interface completamente implementados, como botões e campos de texto. A classe ViewGroup serve como base para subclasses chamadas layouts, que oferecem diversos tipos de arquitetura de layout, como linear, tabular e relativa. A interface de uma Activity é declarada utilizando-se uma hierarquia de nós de View e ViewGroup, como visto na Figura 8. A árvore hierárquica pode ser simples ou complexa, dependendo da necessidade da aplicação e pode ser construída utilizando-se widgets e layouts pré-definidos ou com Views criadas pelo próprio desenvolvedor. Fonte: GOOGLE, 2011 Figura 8 - Hierarquia de nós View e ViewGroup na interface gráfica A activity deve chamar o método setcontentview(), passando como referência o nó raiz da árvore de hierarquia, para que esta seja anexada à tela. A forma mais comum de se definir o layout da aplicação e expressar sua árvore é utilizando um arquivo XML. O XML oferece uma estrutura de fácil entendimento para o layout, como o HTML. Cada elemento XML é um objeto View

47 47 ou ViewGroup (ou descendente destes). Objetos View são as folhas da árvore, enquanto os objetos ViewGroup são os ramos. O nome de um elemento XML corresponde à classe Java que ele representa. Assim, um elemento <TextView> cria um objeto TextView na interface, e um objeto <LinearLayout> cria um objeto LinearLayout. Fonte: Adaptado de GOOGLE, 2011 Figura 9 - Arquivo XML de layout A Figura 9 mostra um exemplo simples de arquivo XML de layout vertical com um campo de texto e um botão. Pode-se notar que o elemento LinearLayout contém os elementos TextView e Button. É possível aninhar vários LinearLayout (ou outros tipos de view group), para construir layouts mais complexos. É possível também construir objetos View e ViewGroup no próprio código Java, utilizando o método addview(view) para inserir dinamicamente estes novos objetos. Um widget é um objeto View que serve como interface de interação com o usuário. O Android provê uma variedade de widgets, como botões, checkboxes e caixas de texto, permitindo rápida criação da interface. Existem também widgets mais complexos, como relógio e controle de zoom. Além disso, o desenvolvedor pode criar seus próprios elementos, definindo suas próprias classes ou extendendo e combinando widgets já existentes.

48 SEGURANÇA E PERMISSÕES O Android não apresenta um framework que gerencie e implemente políticas de segurança para o download de aplicativos. O gerenciamento é feito pelo próprio usuário, cabendo a este definir se determinada aplicação pode realizar determinada operação. O conceito de Unix User Identification (UID) implementado no Android é diferente daquele dos PCs, onde cada usuário tem um único UID e todas as aplicações que rodam para ele possuem o mesmo UID. No Android, um UID é alocado a uma aplicação e não a uma pessoa. As aplicações ficam separadas umas das outras, sendo cada uma um processo separado com UID único e com permissões de uso distintas. A arquitetura do Android foi desenhada de forma que nenhuma aplicação tenha permissão para realizar qualquer operação que impacte negativamente o funcionamento de outras aplicações, do sistema operacional ou do usuário. Isso inclui leitura ou gravação de dados particulares do usuário (como contatos e e- mails), ler ou escrever arquivos de outro aplicativo, acessar a rede, manter o dispositivo acordado, entre outros. O kernel do Android mantém as aplicações dentro de uma sandbox, que define os seus limites de utilização de recursos. Por conta disto, todos os recursos e dados devem ser compartilhados explicitamente. As permissões são declaradas pelas aplicações estaticamente e, no momento da instalação do aplicativo, o sistema solicita o consentimento do usuário. Não existe um mecanismo de concessão de permissões dinâmica, pois isso prejudicaria a experiência do usuário em detrimento da segurança. As aplicações Android (arquivos.apk) devem ser assinadas com um certificado cuja chave primária é mantida por seus desenvolvedores. Este certificado não precisa ser assinado por uma entidade de certificação. O objetivo dos certificados é identificar os autores de cada aplicação, permitindo que o sistema gerencie o acesso das aplicações a determinados recursos.

49 49 O Android tenta minimizar o impacto de uma aplicação em pertubar a experiência de uso do usuário fazendo com que a permissão de uso de determinadas funções, como discar um número, tenha que ser explicitamente solicitada (TAURION, 2010). Uma aplicação básica do Android não possui permissões associadas a ela, ou seja, ela não pode fazer nada que impacte na experiência do usuário ou em qualquer dado do dispositivo. Para usar qualquer recurso protegido do dispositivo, uma declaração deve ser incluída no AndroidManifest.xml, utilizando-se a tag <usespermission>. Na Figura 10, o exemplo de uma aplicação que precisa controlar o recebimento de SMS. Figura 10 Exemplo de permissão Fonte: Adaptado de GOOGLE, ANDROID MANIFEST Toda aplicação Android deve possuir um arquivo, conhecido como manifesto, o AndroidManifest.xml. Este arquivo deste conter todas as informações essenciais sobre o aplicativo que o sistema Android deve ter antes que ele possa executar qualquer código da aplicação. O manifesto inclui, entre outros: A declaração do nome do pacote Java da aplicação, que serve como um identificador exclusivo para o aplicativo; A descrição dos componentes da aplicação: activities, servers, broadcast receivers e content providers que compõem a aplicação; A declaração das classes que implementam cada um dos componentes e a publicação de suas capacidades. Isto permite que o Android saiba o que os componentes são e em que condições eles podem ser iniciados;

50 50 Processos que irão hospedar os componentes da aplicação; Permissões que o aplicativo deve ter para acessar partes protegidas da API e interagir com outras aplicações; Permissões que outras aplicações devem ter para interagir com componentes do aplicativo; Nível mínimo da API do Android que o aplicativo requer; Bibliotecas que devem ser ligadas à aplicação. A estrutura do arquivo AndroidManifest.xml pode ser vista na Figura 11. Figura 11 - Estrutura do AndroidManifest.xml Fonte: GOOGLE, 2011

51 COMUNICAÇÃO COM UM SERVIDOR Existem aplicações que necessitam se comunicar com algum servidor web, para realizar o sincronismo das informações. No Android, pode-se utilizar o protocolo HTTP, sockets ou web services para realizar esta comunicação (LECHETA, 2010). Uma aplicação pode utilizar um banco de dados no Android, porém muitas vezes este banco já existe em algum lugar. Por questões de segurança e também da grande quantidade de informações que necessitam ser armazenadas, é recomendado que este banco esteja em um servidor convencional, e não no celular. Daí surge a necessidade da aplicação executando no celular se comunicar com o servidor do banco de dados para obter as informações necessárias. As aplicações de mobilidade estão se tornando cada vez mais on-line, acessando e atualizando as informações em tempo real. Hoje as operadoras fornecem serviços de internet com planos cada vez mais acessíveis, além da conexão 3G, que aumenta a velocidade da conexão. Dessa forma, é necessário desenvolver aplicações que se comuniquem com outras já existentes na internet. A primeira forma de comunicação é através de um socket, disponível em um determinado endereço e com uma porta devidamente aberta, aguardando a conexão. Utiliza-se o pacote java.net e a classe java.net.socket, da mesma forma que uma aplicação Java normal. Outra forma de comunicação é através do protocolo HTTP, no qual um servidor web na internet é utilizado para receber as requisições e enviar a resposta para o celular. Nesse caso, o celular vira o cliente do servidor web, como se fosse um browser. A última maneira é acessando um web service, uma das tecnologias mais utilizadas para integrar aplicações atualmente. O Android não possui nenhuma API nativa para acessar um web service, porém qualquer outra biblioteca pode ser utilizada e incorporada a um projeto. No entanto, a biblioteca escolhida deve ser leve

52 52 e compacta, pois a aplicação irá executar num dispositivo móvel, que não tem a mesma capacidade de processamento de um computador normal ANDROID MARKET O Android Market 6 é um repositório central dos aplicativos desenvolvidos para o Android. Nele, os desenvolvedores podem disponibilizar suas aplicações, de maneira semelhante ao Youtube 7, bastando cadastrar e enviar o aplicativo. Ao publicar uma aplicação, o desenvolvedor tem que pagar uma taxa e concordar com os termos de uso. Depois disso, o aplicativo já pode ser baixado e instalado pelos usuários. Existem aplicativos gratuitos e outros pagos. Quem constrói os aplicativos tem direito a 70% dos seus lucros. Para os usuários utilizarem o Android Market basta acessar o site pelo celular e baixar o aplicativo desejado. Existe um ranking de melhores aplicativos, de acordo com a classificação e os comentários deixados pelos usuários. Fonte: EIRAS, 2011 Figura 12 - Tela inicial do Android Market A Figura 12 mostra a tela inicial do Android Market acessado pelo dispositivo, e a Figura 13 mostra a tela de instalação de um aplicativo. 6 Site para download de aplicativos do Android: 7 Site de compartilhamento de vídeos:

53 53 Fonte: EIRAS, 2011 Figura 13 - Tela de instalação de um aplicativo A Google possui uma estratégia para evitar a fragmentação da plataforma, mantendo controle sobre o acesso ao Android Market e sobre os aplicativos que permitem acesso aos serviços da Google (Gmail, Maps, etc). Assim, há a possibilidade da Google pressionar os fabricantes e desenvolvedores a seguirem padrões de desenvolvimento que permitam que os softwares rodem em diversos dispositivos, evitando a expansão de aparelhos limitados, que rodem em apenas um ou poucos modelos (MORIMOTO, 2010). Além do Android Market, existem também outras lojas menores como o e Elas servem como alternativas para desenvolvedores que tiveram seus aplicativos rejeitados no Android Market ou não querem pagar alguma comissão para vender seus aplicativos. Existe a possibilidade também de instalar os aplicativos localmente através do comando adb install, disponível no SDK.

54 54 4 TRABALHO DESENVOLVIDO O wiki Disciplinas do DCC hoje é acessado pela web. Nesse modelo, os alunos têm dificuldade em acessar informações sobre a disciplina se estiverem em um lugar remoto, sem acesso à internet através de um computador pessoal. Para melhorar este cenário, uma solução encontrada foi o desenvolvimento de uma ferramenta que disponibilize estes dados em qualquer lugar que o usuário se localize, atentando à tendência de expansão dos aplicativos móveis. O acesso a esta ferramenta será dado através de um dispositivo móvel com o sistema operacional Android, sendo aproveitadas as facilidades de desenvolvimentos providas por esta plataforma. O estudo foi iniciado com uma pesquisa entre online entre alunos e professores do Departamento de Ciências da Computação da UFBA, que responderam sobre a utilização de dispositivos móveis e do wiki de disciplinas. A partir dos resultados do questionário, concluiu-se que o aplicativo desenvolvido na plataforma Android seria útil e viável, dado o número considerável de adeptos do sistema operacional da Google, e a quantidade de pessoas que declararam a intenção de utilizar o aplicativo. O trabalho cobriu as etapas do processo de desenvolvimento de software de Análise de Requisitos, Especificação, Arquitetura de Software e Prototipação. As três primeiras fases são descritas na seção 4.3, e a última na seção QUESTIONÁRIO DE PESQUISA Para iniciar o trabalho foi realizada uma pesquisa entre alunos e professores do departamento com de medir a utilização de dispositivos móveis, a adoção da

55 55 plataforma da plataforma Android, do wiki de disciplinas, e o impacto que o aplicativo iria causar. O questionário constava de 10 perguntas e foi feito através da plataforma Google Docs, sendo enviado para as listas de discussão do departamento que todos os alunos e professores tem acesso. No total, 81 pessoas responderam ao questionário, o que corresponde a cerca de 20% do total de alunos e professores do departamento. Com base no resultado da pesquisa pode-se concluir que há uma ampla utilização de dispositivos móveis e também do wiki de disciplinas. Além disso, foi possível também medir a relevância de um aplicativo para acesso às informações presentes no wiki, sendo que a maioria dos respondentes declarou que utilizaria a ferramenta. As perguntas do questionário, assim como as respostas e os respectivos gráficos encontram-se no APÊNDICE 1 - QUESTIONÁRIO. 4.2 WIKI DISCIPLINAS DO DCC Um wiki é uma plataforma para compartilhamento coletivo de conteúdo. Nesta ferramenta, o usuário além de acessar o conteúdo, pode editá-lo. Todas as modificações são armazenadas em um lugar visível a todos, podendo ser desfeitas a qualquer momento com a mesma facilidade que foram feitas. Existem diversas ferramentas para criação e armazenamento de um wiki. O acesso ao conteúdo geralmente é disponibilizado a todos, porém sua edição é na maioria das vezes permitida apenas para usuários cadastrados. O wiki Disciplinas do DCC/UFBA 8 utiliza a ferramenta Foswiki, e o seu acesso é público e gratuito. Entretanto, o acesso a modificações é restrito a alunos e professores do Departamento de Ciências da Computação da UFBA. Para acrescentar, alterar ou excluir qualquer conteúdo, basta utilizar os mesmos login e senha utilizados no laboratório do DCC. 8

56 56 O sistema disponibiliza o conteúdo das disciplinas, que são divididas em quatro grupos: Graduação, Mestrado, Doutorado e Currículo Antigo. Para cada disciplina, o sistema disponibiliza quatro opções: Página da Disciplina, SVN, Lista de Discussão e Pasta da Disciplina. A opção Página da Disciplina, que possui o conteúdo que será extraído e exibido no aplicativo móvel, está dividida da seguinte maneira: A Disciplina: apresenta a visão geral da disciplina, os pré-requisitos, ementa, objetivos e metodologia. Bibliografia: apresenta a bibliografia adotada pela disciplina. Notas de Aula: nesta seção, são disponibilizados os arquivos utilizados pelos professores em sala de aula. Exercicios: listas de exercícios passadas durante o semestre. Links: lista de outros sites relevantes à matéria. FAQ: sessão de dúvidas. Semestre Corrente: geralmente, os professores utilizam este espaço para compartilhar o calendário da disciplina no semestre corrente, assim como notas e resultados parciais. Semestres Anteriores: repositório de páginas dos semestres anteriores. Ferramentas da web A página principal do wiki pode ser visualizada na Figura 14.

57 57 Figura 14 - Disciplinas.dcc.ufba.br 4.3 O PROJETO DA APLICAÇÃO Visto o número considerável de adeptos dos dispositivos móveis com a plataforma Android, e da quantidade de futuros utilizadores do aplicativo móvel, foi decidido o desenvolvimento da aplicação nesta plataforma. O aplicativo móvel proposto traz o conceito de mobilidade tornando possível o acesso às informações do wiki de disciplinas através de um dispositivo móvel com o sistema operacional Android. O sistema deverá exibir as informações das disciplinas, de acordo como foi descrito na seção 4.2. O sistema deve permitir que o usuário faça busca por uma disciplina ou que seja exibida uma lista de todas as disciplinas cadastradas no wiki. Além disso, o sistema deve permitir que o usuário acesse a página principal do wiki pelo próprio aplicativo. O usuário deverá apenas visualizar o conteúdo das páginas, não sendo permitida a alteração de nenhuma informação. Como o objetivo do aplicativo é apenas visualizar o conteúdo do wiki não é necessário que exista um controle de acesso de usuários, assim todos têm permissão de acesso a todas as funcionalidades.

58 58 Completando a etapa de análise de requisitos, são desenvolvidos os casos de uso. Eles descrevem os processos dos sistemas, especificando a interação destes com os agentes externos que o utilizam e identificando as consultas e transformações da informação necessárias (WAZLAWICK, 2004). De acordo com os requisitos levantados, o aplicativo aqui projetado possuirá três casos de uso: Buscar Disciplina, Listar Disciplinas e Abrir Site. O usuário é o único ator que interage com o sistema nos casos de uso. Segundo Bezerra (2007), diagramas de caso de uso correspondem a uma visão externa do sistema e representam graficamente os atores, casos de uso e relacionamentos entre eles. A interação de elementos externos com funcionalidades do sistema é ilustrada em um nível alto de abstração. A Figura 15 exibe o diagrama de casos de uso que descreve a interação do usuário com a aplicação. Figura 15 - Diagrama de Casos de Uso No caso de uso Buscar Disciplina, o usuário escolhe a opção na tela inicial, e o sistema abre a tela de pesquisa. O usuário preenche os campos de pesquisa e o sistema retorna uma lista com as disciplinas mais relevantes para a busca. Se não existir disciplina que satisfaça aos critérios de busca, o sistema retorna uma mensagem ao usuário. Se houver, o sistema abre a tela da disciplina com as opções listadas na seção 4.2.

59 59 No caso de uso Listar Disciplinas, o usuário escolhe a opção na tela inicial, e o sistema abre a tela de listagem por categorias. O usuário escolhe a categoria que deseja e o sistema abre uma nova tela de listagem, com as disciplinas disponíveis. O usuário seleciona a disciplina e o sistema abre a tela da disciplina com as opções listadas na seção 4.2. No caso de uso Abrir Site, o usuário escolhe a opção na tela inicial, e o sistema abre a página do wiki na web através do navegador do dispositivo móvel. Segundo Larman (2007), um diagrama de sequência ilustra as interações dos atores com os objetos do sistema, para um cenário específico de um caso de uso. No caso do aplicativo deste trabalho, o único ator é o usuário e os objetos do sistema são a interface do Android, a conexão HTTP e o Servidor. Abaixo, nas Figuras 16 e 17, são exibidos os diagramas de sequência dos casos de uso Buscar Disciplina e Listar Disciplinas. Não foi necessário exibir o diagrama do caso de uso Abrir Site, pois a única interação do sistema com usuário se dá quando o usuário escolhe a opção. A partir daí, a interação é do usuário com o navegador do dispositivo, e não com o aplicativo em si. Figura 16 - Diagrama de sequência Buscar Disciplina

60 60 Figura 17 - Diagrama de sequência Listar Disciplinas Pode-se perceber que os diagramas são similares. Em ambos, a aplicação só necessita conectar-se ao servidor para buscar a lista de disciplinas ou para exibir as informações. Nas demais ações, os dados necessários para exibição já fazem parte do código da aplicação. Não será necessário implantar um banco de dados, pois as informações necessárias serão recuperadas de um servidor de dados já existente. Como visto na seção 3.9, aplicativos Android podem se comunicar com um servidor de três formas diferentes: através de sockets, utilizando o protocolo HTTP ou com web services. No aplicativo proposto, a comunicação com o servidor é dada pela segunda forma, através de uma conexão HTTP. A arquitetura de software representa o sistema de uma forma abstrata, e direciona as interfaces entre ele e outros softwares, e também com o hardware ou com o sistema operacional (WIKIPEDIA, 2011). A arquitetura do aplicativo é ilustrada na Figura 19. Quando necessita de algum dado, a aplicação se conecta à página do wiki através de uma requisição HTTP, cabendo a esta a função de recuperar as informações do servidor, que está conectado a algum servidor de armazenamento.

61 61 Figura 18 - Arquitetura da aplicação A resposta da página web para o aplicativo é um arquivo HTML em forma de texto, que será processado pelo código da aplicação para se obter o conteúdo a ser exibido para o usuário. A conexão da aplicação é ilustrada na Figura 19. Figura 19 Conexão com a página do wiki 4.4 PROTÓTIPO DA APLICAÇÃO Após a fase de projeto, foi construído o protótipo da aplicação. Um protótipo é um produto que ainda não está pronto para comercialização ou distribuição, apresentando algumas ou todas as funcionalidades que o produto terá. No protótipo aqui apresentado, apenas a comunicação entre as telas foi desenvolvida. A conexão com o servidor e o processamento das informações não foram implementadas, portanto o conteúdo apresentado nas telas provavelmente não refletirá o seu estado atual.

62 62 O protótipo foi desenvolvido utilizando-se a IDE Eclipse, que possui o ADT, um plugin customizado, que oferece diversas funcionalidades e facilita o desenvolvimento de aplicações Android pela ferramenta. A Figura 20 mostra a tela do ambiente de desenvolvimento. Figura 20 - IDE Eclipse Utilizou-se a plataforma API Level 8, que corresponde à versão 2.2 do Android, sendo definida também como a versão mínima de um dispositivo para executar a aplicação. A interface gráfica da aplicação foi construída utilizando os objetos de layout oferecidos pelo próprio Android. A IDE Eclipse oferece um recurso em que o layout da tela pode ser imediatamente visualizado, sem a necessidade de executar a aplicação. Na mesma tela de visualização, há uma caixa com todos os objetos, que podem ser arrastados para a tela e automaticamente inseridos no código. Além disso, algumas configurações podem ser editadas, como resolução e orientação da tela, o tema de layout utilizado pela aplicação, e a versão do Android. A Figura 21 mostra a tela de edição do arquivo XML de layout.

63 63 Figura 21 - Tela de edição do XML Layout A Figura 22 mostra a tela inicial do aplicativo, que possui três botões de interação com o usuário: Buscar Disciplina, Listar Disciplinas e Abrir Site. O primeiro abre a tela mostrada na Figura 25, com a tela de pesquisa de disciplina. O segundo botão abre a tela mostrada na Figura 26, e o último abre a página do wiki da disciplina, mostrado na Figura 30. Figura 22 - Tela inicial do aplicativo As Figuras 23 e 24 mostram os códigos do XML de layout e da activity principal DisciplinasDCC, respectivamente. Como visto na seção 3.6, o arquivo XML define a interface gráfica de cada activity, onde os objetos gráficos que farão parte da tela serão declarados. Na Figura 23, é possível visualizar a declaração de três objetos, o texto de boas vindas (classe TextView), a imagem da logomarca do DCC

64 64 (classe ImageView) e o botão para abrir a tela de pesquisa de disciplinas (classe Button). Figura 23 - XML de layout da Activity principal A Figura 24 mostra parte do código da activity principal. Toda activity deve iniciar com o método oncreate, onde é chamado o mesmo método da classe-pai (Activity) e definido qual o layout será utilizado pela activity, através do método setcontentview. No exemplo mostrado, é utilizado o layout main.xml, mostrado na Figura 23. No código da aplicação, apenas os objetos de layout que interagem de alguma forma com o usuário, ou são dinamicamente alterados em tempo de execução, devem ser declarados. No exemplo aqui mostrado, o texto de boasvindas (TextView) e a imagem (ImageView) são estáticos e não interagem com o usuário, portanto não precisam ser invocados. Já o botão Buscar Disciplinas, deve abrir uma nova tela (activity) ao ser clicado. Por isso, o método setonclicklistener invoca a criação de uma nova Intent, cujo objetivo é abrir a nova tela. A nova activiy é iniciada pelo método startactivity.

65 65 Figura 24 - Parte do código da Activity Principal DisciplinasDCC Na tela de Pesquisa por Disciplinas, o usuário deve preencher o campo de texto com o nome ou código da disciplina, e selecionar uma ou mais opções de filtro (Graduação, Mestrado, Doutorado ou Currículo Antigo). As disciplinas correspondentes à pesquisa são retornadas e então o usuário escolhe a disciplina que deseja visualizar. Figura 25 - Tela de Pesquisa por Disciplinas

66 66 A Figura 26 mostra a tela de listagem de disciplinas. As listas são divididas em Graduação, Mestrado, Doutorado e Currículo Antigo, assim como no wiki. Figura 26 - Tela Lista de Disciplinas O usuário escolhe um combo, e seleciona a disciplina que deseja visualizar na lista mostrada na Figura 27. Figura 27 - Tela de Seleção de Disciplinas A tela de exibição das informações das disciplinas é mostrada na Figura 28. O texto recuperado do wiki é mostrado nesta tela. As opções oferecidas ao usuário estão no combo da parte superior da tela.

67 67 Figura 28 - Tela de exibição da disciplina Para obter as informações das páginas do wiki, a aplicação faz uma conexão HTTP com o servidor web, que retorna o conteúdo dos arquivos HTML em forma de texto. Neste ponto, existe a necessidade da aplicação extrair apenas o conteúdo que interessa ao usuário, eliminando as tags do HTML e as informações desnecessárias. A configuração do arquivo HTML gerado pelas páginas do wiki facilita este trabalho, pela existência de padrões que identificam as disciplinas nos menus, e consequentemente os links para suas opções. Para extrair o conteúdo, utiliza-se uma API do Java, que oferece mecanismos para o tratamento de expressões regulares, conhecida como Regex, disponível no pacote java.util.regex (SANTOS, 2009). Como o arquivo HTML contém padrões nas tags, utiliza-se estes padrões como expressões regulares, através da classe Pattern. Com os padrões formados, faz-se uma comparação no texto retornado pela página web, através da classe Matcher e encontra-se o conteúdo a ser exibido na aplicação. A Figura 29 mostra as opções da tela de Disciplinas.

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

Fundamentos da Computação Móvel

Fundamentos da Computação Móvel Fundamentos da Computação Móvel (Plataformas Sistemas Operacionais e Desenvolvimento) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus

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 02 História do desenvolvimento de software para dispositivos móveis Dalton Martins dmartins@gmail.com São

Leia mais

Pré-Projeto do Trabalho de Conclusão de Curso Tiago Garcia Pereira 1. INTRODUÇÃO

Pré-Projeto do Trabalho de Conclusão de Curso Tiago Garcia Pereira 1. INTRODUÇÃO UM PADRÃO ABERTO DE SOFTWARE PARA COMPUTAÇÃO MÓVEL: UM ESTUDO SOBRE GOOGLE ANDROID 1. INTRODUÇÃO O aumento do número usuários de dispositivos móveis atrai cada vez os desenvolvedores a produzir aplicações

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

Arquiteturas para implantação de aplicações móveis wireless

Arquiteturas para implantação de aplicações móveis wireless Arquiteturas para implantação de aplicações móveis wireless Este tutorial apresenta uma visão geral da arquitetura para implantação de aplicações móveis wireless. Eduardo Tude Engenheiro de Teleco (IME

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

2ª Edição Ricardo R. Lecheta

2ª Edição Ricardo R. Lecheta Google Aprenda a criar aplicações para dispositivos móveis com o Android SDK 2ª Edição Ricardo R. Lecheta Novatec capítulo 1 Introdução ao Android 1.1 Introdução O mercado de celulares está crescendo cada

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 programação de dispositivos móveis. Prof. Me. Hélio Esperidião

Introdução a programação de dispositivos móveis. Prof. Me. Hélio Esperidião Introdução a programação de dispositivos móveis. Prof. Me. Hélio Esperidião Windows Mobile O Windows Mobile é um sistema operacional compacto, desenvolvido para rodar em dispositivos móveis como Pocket

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Tipos de Sistemas Operacionais Com o avanço dos computadores foram surgindo alguns tipos de sistemas operacionais que contribuíram para o desenvolvimento do software. Os tipos de

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

Android. 10 vantagens do sistema Android em relação ao iphone

Android. 10 vantagens do sistema Android em relação ao iphone Android Android é um sistema operacional do Google para smartphones, TVs e tablets. Baseado em Linux e de código aberto, o sistema móvel é utilizado em aparelhos da Samsung, LG, Sony, HTC, Motorola, Positivo,

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

Fundamentos da Computação Móvel

Fundamentos da Computação Móvel Fundamentos da Computação Móvel (O Mercado Mobile no Brasil) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto

Leia mais

Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Ciências da Computação. Raphael Ottoni Santiago Machado de Faria

Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Ciências da Computação. Raphael Ottoni Santiago Machado de Faria Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Ciências da Computação Raphael Ottoni Santiago Machado de Faria MONOGRAFIA DE PROJETO ORIENTADO EM COMPUTAÇÃO I Rastreamento

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

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

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 17/09/2010. Carlos Eugênio Torres Engenheiro de Informática http://cetorres.

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 17/09/2010. Carlos Eugênio Torres Engenheiro de Informática http://cetorres. Módulo I - Introdução Aula 2 Carlos Eugênio Torres Engenheiro de Informática http://cetorres.com Faculdade Christus Sistemas de Informação 17/09/2010 Graduado em Ciência da Computação pela UFC, Brasil

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

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

PLATAFORMA ANDROID. Ariel Soares Teles arielsoaresteles@gmail.com

PLATAFORMA ANDROID. Ariel Soares Teles arielsoaresteles@gmail.com Universidade Federal do Maranhão UFMA Programa de Pós-graduação em Engenharia de Eletricidade PPGEE Área de Concentração: Ciência da Computação Disciplina: Introdução a Computação Móvel Professor: Dr.

Leia mais

Programação para Android

Programação para Android Programação para Android Aula 01: Visão geral do android, instalação e configuração do ambiente de desenvolvimento, estrutura básica de uma aplicação para Android Objetivos Configurar o ambiente de trabalho

Leia mais

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec Desenvolvendo para Windows 8 Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8 Ricardo R. Lecheta Novatec Copyright 2013 da Novatec Editora Ltda. Todos os direitos reservados e protegidos

Leia mais

LG MG 110 Tela colorida. Agenda com 200 posições de memória no TIMChip + 500 registros no aparelho. Jogos. Calculadora, calendário, conversor de moedas, despertador, data e hora e alerta vibratório. TIM

Leia mais

Website para dispositivos Móveis. O futuro na palma de sua mão!

Website para dispositivos Móveis. O futuro na palma de sua mão! Website para dispositivos Móveis O futuro na palma de sua mão! Sites Mobile A Internet está sendo cada vez mais acessada através de telefones móveis e, como resultado, sites estão recebendo uma boa quantidade

Leia mais

IBM Endpoint Manager for Mobile Devices

IBM Endpoint Manager for Mobile Devices IBM Endpoint Manager for Mobile Devices Plataforma unificada para gerenciar dispositivos móveis junto com endpoints tradicionais Destaques Trata as questões de negócios e de tecnologia da segurança, da

Leia mais

Núcleo de Pós Graduação Pitágoras. Tópicos Especiais

Núcleo de Pós Graduação Pitágoras. Tópicos Especiais Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Arquitetura da Informática e Automação MBA Gestão em Tecnologia da Informaçao Tópicos Especiais Evolução da Convergência Digital

Leia mais

OFICINA ANDROID COMO COMEÇAR A DESENVOLVER!

OFICINA ANDROID COMO COMEÇAR A DESENVOLVER! OFICINA ANDROID COMO COMEÇAR A DESENVOLVER! QUEM SOU EU? REGILAN MEIRA SILVA Professor de Informática do Campus Ilhéus Formação em Ciência da Computação com Especialização em Sistemas de Informação e Mestrado

Leia mais

Frameworks para criação de Web Apps para o Ensino Mobile

Frameworks para criação de Web Apps para o Ensino Mobile 393 Frameworks para criação de Web Apps para o Ensino Mobile Lucas Zamim 1 Roberto Franciscatto 1 Evandro Preuss 1 1 Colégio Agrícola de Frederico Westphalen (CAFW) Universidade Federal de Santa Maria

Leia mais

ESCOLA SECUNDÁRIA DO MONTE DA CAPARICA Curso de Educação e Formação de Adultos NS Trabalho Individual Área / UFCD

ESCOLA SECUNDÁRIA DO MONTE DA CAPARICA Curso de Educação e Formação de Adultos NS Trabalho Individual Área / UFCD 1 de 9 Desde o nascimento do telemóvel e o seu primeiro modelo vários se seguiram e as transformações tecnológicas que estes sofreram ditaram o nascimento de várias gerações. O Motorola DynaTac 8000X é

Leia mais

ruirossi@ruirossi.pro.br

ruirossi@ruirossi.pro.br Dispositivos Móveis Plataformas Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Contexto o Presença massiva dos celulares 1,5 bilhões de televisores 1 bilhão de pessoas

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

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

História e Evolução da Web. Aécio Costa

História e Evolução da Web. Aécio Costa Aécio Costa A História da Web O que estamos estudando? Período em anos que a tecnologia demorou para atingir 50 milhões de usuários 3 As dez tecnologias mais promissoras 4 A evolução da Web Web 1.0- Passado

Leia mais

Melhores práticas para tratar dilemas de qualidade no desenvolvimento de aplicativos móveis

Melhores práticas para tratar dilemas de qualidade no desenvolvimento de aplicativos móveis CBSoft 2013 Trilha Indústria Melhores práticas para tratar dilemas de qualidade no desenvolvimento de aplicativos móveis Andreia Matos dos Santos Igor de Borborema Correia 21 de outubro de 2012 Palestrantes

Leia mais

CONDIÇÕES GERAIS DE ASSISTÊNCIA ASSISTÊNCIA HELP DESK P L A N O 1

CONDIÇÕES GERAIS DE ASSISTÊNCIA ASSISTÊNCIA HELP DESK P L A N O 1 CONDIÇÕES GERAIS DE ASSISTÊNCIA ASSISTÊNCIA HELP DESK P L A N O 1 1. QUADRO RESUMO DE SERVIÇOS ITEM SERVIÇOS LIMITES DO SERVIÇO 2.1 Suporte Remoto Informática 2.2 Suporte Remoto Celular 2.3 Suporte Remoto

Leia mais

Tecnologia de redes celular GSM X CDMA

Tecnologia de redes celular GSM X CDMA Tecnologia de redes celular GSM X CDMA GSM (Global Standard Mobile) GSM (Global Standard Mobile) Também baseado na divisão de tempo do TDMA, o GSM foi adotado como único sistema europeu em 1992, e se espalhou

Leia mais

Nokia E5 (E5-00) GSM GPRS EDGE (850/900/1800/1900 MHZ) WCDMA HSDPA 10.2 / HSUPA 2.0 (850/1900/2100) GPS

Nokia E5 (E5-00) GSM GPRS EDGE (850/900/1800/1900 MHZ) WCDMA HSDPA 10.2 / HSUPA 2.0 (850/1900/2100) GPS Última versão de software homologada pela VIVO: 042.010 DESTAQUES DO APARELHO Nome Comercial: Nokia E5 (Número do Modelo: E5-00) Smartphone com sistema operacional: Symbian OS v9.3 e plataforma: S60 v3.2;

Leia mais

OPINIÃO. O futuro. do Flash

OPINIÃO. O futuro. do Flash O futuro do Flash Testes realizados por sites de grande audiência, como YouTube (http://www.youtube.com/ html5) e Vimeo (http://vimeo.com/blog:268), no uso de players em HTML 5 trouxeram à tona as discussões

Leia mais

Como configurar e-mails nos celulares. Ebook. Como configurar e-mails no seu celular. W3alpha - Desenvolvimento e hospedagem na internet

Como configurar e-mails nos celulares. Ebook. Como configurar e-mails no seu celular. W3alpha - Desenvolvimento e hospedagem na internet Ebook Como configurar e-mails no seu celular Este e-book irá mostrar como configurar e-mails, no seu celular. Sistemas operacionais: Android, Apple, BlackBerry, Nokia e Windows Phone Há muitos modelos

Leia mais

Telecomunicações, Internet e tecnologia sem fio. slide 1

Telecomunicações, Internet e tecnologia sem fio. slide 1 Telecomunicações, Internet e tecnologia sem fio slide 1 Objetivos de estudo Quais os principais componentes das redes de telecomunicações e quais as principais tecnologias de rede? Quais os principais

Leia mais

BlackBerry 8520 (Curve) GSM GPRS EDGE (850/900/1800/1900 MHZ)

BlackBerry 8520 (Curve) GSM GPRS EDGE (850/900/1800/1900 MHZ) Última versão de software homologada pela VIVO: 5.0.0.592 DESTAQUES DO APARELHO Câmera digital integrada (2.0M Pixel) zoom 5 vezes; Smartphone com sistema operacional RIM OS Java based 4.6.1; WIFI (WLAN

Leia mais

Mude para digital. Sistema de rádio bidirecional digital profissional MOTOTRBO

Mude para digital. Sistema de rádio bidirecional digital profissional MOTOTRBO Sistema de rádio bidirecional digital profissional A solução de comunicação em rádios bidirecionais de próxima geração está aqui, com melhor desempenho, produtividade e preço e mais oportunidades para

Leia mais

Desenvolvimento de uma aplicação embarcada em celular visando controle de robô via Wi-Fi

Desenvolvimento de uma aplicação embarcada em celular visando controle de robô via Wi-Fi Desenvolvimento de uma aplicação embarcada em celular visando controle de robô via Wi-Fi Bruno Henrique Andrade Cruz 1 Josué Fernandes Dall Agnese 1 Bruno José Fagundes 1 Marcelo Teixeira Bastos 1 Rolf

Leia mais

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

Sobre o Colméia: Grupo de pesquisa em Software e Hardware Livre. Software Livre não é só Linux!

Sobre o Colméia: Grupo de pesquisa em Software e Hardware Livre. Software Livre não é só Linux! Sobre o Colméia: Grupo de pesquisa em Software e Hardware Livre. Software Livre não é só Linux! Assuntos que serão abordados Android é Software Livre? Arquitetura Android Maquina Virtual Dalvik Evolução

Leia mais

UNIVERSIDADE FEDERAL FLUMINENSE ESCOLA DE ENGENHARIA MBA EM TV DIGITAL, RADIODIFUSÃO E NOVAS E NOVAS MÍDIAS

UNIVERSIDADE FEDERAL FLUMINENSE ESCOLA DE ENGENHARIA MBA EM TV DIGITAL, RADIODIFUSÃO E NOVAS E NOVAS MÍDIAS UNIVERSIDADE FEDERAL FLUMINENSE ESCOLA DE ENGENHARIA MBA EM TV DIGITAL, RADIODIFUSÃO E NOVAS E NOVAS MÍDIAS Trabalho final da disciplina Computadores, Redes, IP e Internet Professor: Walter Freire Aluno:

Leia mais

RHOELEMENTS MOTOROLA DESENVOLVA MENOS. FAÇA MAIS.

RHOELEMENTS MOTOROLA DESENVOLVA MENOS. FAÇA MAIS. RHOELEMENTS MOTOROLA DESENVOLVA MENOS. FAÇA MAIS. RHOELEMENTS MOTOROLA FOLHETO COM TANTOS EQUIPAMENTOS MÓVEIS... VOCÊ, DEFINITIVAMENTE, QUER CRIAR UM APLICATIVO COMPATÍVEL COM TODOS ELES. COM RHOELEMENTS,

Leia mais

Novas opções de Gerenciamento de Dispositivos do Windows *

Novas opções de Gerenciamento de Dispositivos do Windows * Informe Processadores Intel Core de 4ª geração e processadores Intel Atom Mobilidade com a Intel e o Windows 8.1* Novas opções de Gerenciamento de Dispositivos do Windows * O que levar em conta ao decidir

Leia mais

SISTEMAS OPERACIONAIS MÓVEIS - ANDROID X IOS

SISTEMAS OPERACIONAIS MÓVEIS - ANDROID X IOS SISTEMAS OPERACIONAIS MÓVEIS - ANDROID X IOS Danielle Dias Simões¹, Júlio César Pereira². Universidade Paranaense - Unipar Paranavaí PR - Brasil dannesimoes@hotmail.com juliocesarp@unipar.br Resumo. O

Leia mais

Informática. Jamille Silva Madureira

Informática. Jamille Silva Madureira Informática Jamille Silva Madureira Conceitos de sistemas operacionais Sistemas Operacionais Atuais Desktop: Windows 7 e 8; Linux; Mac OS. Dispositivos Móveis: Windows Mobile; Android; iphone OS. Desktop

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

NOVAS TECNOLOGIAS DE INFORMAÇÃO

NOVAS TECNOLOGIAS DE INFORMAÇÃO NOVAS TECNOLOGIAS DE INFORMAÇÃO Profª. Kelly Hannel Novas tecnologias de informação 2 HDTV WiMAX Wi-Fi GPS 3G VoIP Bluetooth 1 HDTV 3 High-definition television (também conhecido por sua abreviação HDTV):

Leia mais

Introdução ao Android. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Introdução ao Android. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Introdução ao Android Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Conteúdo Introdução Mercado Versões Ambiente de Desenvolvimento Configuração das Máquinas Virtuais Referências Introdução Android

Leia mais

COMO CONQUISTAR CLIENTES COM APLICATIVOS PARA CELULAR

COMO CONQUISTAR CLIENTES COM APLICATIVOS PARA CELULAR COMO CONQUISTAR CLIENTES COM APLICATIVOS PARA CELULAR CONTEÚDO 1 2 3 4 5 6 Por que as empresas precisam estar conectadas ao mundo mobile Como os aplicativos mobile podem atrair mais clientes. Como os aplicativos

Leia mais

Aula1. Preparando o ambiente de desenvolvimento

Aula1. Preparando o ambiente de desenvolvimento Programando para Symbian OS S60 Platform SDKs for Symbian OS, for C++ (diego@drsolutions.com.br) 27 Agosto/2007 Aula1 Preparando o ambiente de desenvolvimento Objetivo da aula: Propiciar ao leitor uma

Leia mais

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS Leandro Guilherme Gouvea 1, João Paulo Rodrigues 1, Wyllian Fressatti 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil leandrog.gouvea@gmail.com,

Leia mais

Interface gráfica. Figura 1: MS DOS

Interface gráfica. Figura 1: MS DOS Instituto Federal de Educação, Ciência e Tecnologia Sergipe IFS Campus Glória Professora: Jamille Madureira Informática Básica Sistemas Operacionais Sistema operacional é um programa que gerencia o hardware

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

Samsung GT-E2530 GSM GPRS EDGE*** (850/900/1800/1900 MHZ)

Samsung GT-E2530 GSM GPRS EDGE*** (850/900/1800/1900 MHZ) Última versão de software homologada pela VIVO: E2530VIKA1 DESTAQUES DO APARELHO Nome comercial: Samsung GT-E2530 Câmera digital integrada (1.3M Pixel) com captura de vídeo (zoom 2 vezes); Display interno

Leia mais

Tutorial SD. Mobile and Smart devices Development Solution - Página 1

Tutorial SD. Mobile and Smart devices Development Solution - Página 1 Mobile and Smart devices Development Solution - Página 1 Introdução Hoje em dia, está claro para a indústria de TI a relevância que têm os smartphones, tablets e dispositivos inteligentes (os chamados

Leia mais

CELULAR X COMPUTADOR APLICATIVO PARA CELULAR DICAS DO SEBRAE

CELULAR X COMPUTADOR APLICATIVO PARA CELULAR DICAS DO SEBRAE CELULAR X COMPUTADOR Atualmente, o Celular roubou a cena dos computadores caseiros e estão muito mais presentes na vida dos Brasileiros. APLICATIVO PARA CELULAR O nosso aplicativo para celular funciona

Leia mais

Lançamento: Galaxy S II Branco

Lançamento: Galaxy S II Branco Você está aqui : página principal : Celulares : Smartphones : Tenha um mundo de funcionalidades com o Galaxy S II. Com ele você tem Android 2.3 e milhares de aplicativos com o Android Market, pode registrar

Leia mais

COMPARAÇÃO DE KITS DE DESENVOLVIMENTO PARA CRIAÇÃO DE APLICATIVOS DESTINADOS A DISPOSITIVOS MÓVEIS

COMPARAÇÃO DE KITS DE DESENVOLVIMENTO PARA CRIAÇÃO DE APLICATIVOS DESTINADOS A DISPOSITIVOS MÓVEIS COMPARAÇÃO DE KITS DE DESENVOLVIMENTO PARA CRIAÇÃO DE APLICATIVOS DESTINADOS A DISPOSITIVOS MÓVEIS Luiz Eduardo Uzai Graduado em Sistemas de Informação pela LIBERTAS Faculdades Integradas. Ely Fernando

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel A linguagem JAVA A linguagem Java O inicio: A Sun Microsystems, em 1991, deu inicio ao Green Project chefiado por James Gosling. Projeto que apostava

Leia mais

Windows Phone: Acesse Configurações > Rede celular + SIM > Ativada/Desativada. Android: Deslize a tela para baixo e desmarque a opção de dados.

Windows Phone: Acesse Configurações > Rede celular + SIM > Ativada/Desativada. Android: Deslize a tela para baixo e desmarque a opção de dados. Sempre que você não estiver usando a conexão, desligue a internet do seu aparelho. Mesmo em espera, os programas do celular ou tablet ficarão atualizando com redes sociais, e-mails, entre outros. Com isso

Leia mais

INDE X AÇÃO DE DISPOSITIVOS MÓVEIS EM 2015 PEL A SIZMEK. Análises de formatos, adoção e desperdício em dispositivos móveis.

INDE X AÇÃO DE DISPOSITIVOS MÓVEIS EM 2015 PEL A SIZMEK. Análises de formatos, adoção e desperdício em dispositivos móveis. INDE X AÇÃO DE DISPOSITIVOS MÓVEIS EM 2015 PEL A SIZMEK Análises de formatos, adoção e desperdício em dispositivos móveis. CO N T EÚ D O S O RESUMO GERAL DO MARKETING PARA MÓVEIS Inventário Móvel CH A

Leia mais

PÓS GRADUAÇÃO LATO SENSU. Desenvolvimento de Aplicações Em Dispositivos Móveis Com Android, Java, IOs (Iphone).

PÓS GRADUAÇÃO LATO SENSU. Desenvolvimento de Aplicações Em Dispositivos Móveis Com Android, Java, IOs (Iphone). 1 Desenvolvimento de Aplicações Em Dispositivos Móveis Com Android, Java, IOs (Iphone). Requisitos e Especificação de Software Tópicos sobre análise requisitos; Requisitos Funcionais e não funcionais;

Leia mais

7 Passos Para a Criação de Uma Boa Loja Virtual. Índice

7 Passos Para a Criação de Uma Boa Loja Virtual. Índice 2 Índice Introdução... 3 Passo 1 Entender o que é Venda Online e E-commerce... 4 Passo 2 Entender o Mercado de Comércio Eletrônico... 5 Passo 3 Canais de Venda... 6 Passo 4 Como identificar uma Boa Plataforma

Leia mais

MONOGRAFIA: PLATAFORMAS DE DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS

MONOGRAFIA: PLATAFORMAS DE DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO PUC-RIO DEPARTAMENTO DE INFORMÁTICA - DI PROGRAMA DE PÓS GRADUAÇÃO EM INFORMÁTICA INF2541 INTRODUÇÃO À COMPUTAÇÃO MÓVEL PROF. MARKUS ENDLER MONOGRAFIA:

Leia mais

Portfólio de Aparelhos Claro Empresas NE

Portfólio de Aparelhos Claro Empresas NE Portfólio de Aparelhos Claro Empresas NE Aparelhos de Entrada Alcatel OT-223 Rádio FM Viva Voz integrado Aparelhos de Entrada LG A180 Grafite Dual band : 900/1800MHz Digitação Inteligente Viva Voz Integrado

Leia mais

LG Wink Style T310 GSM GPRS EDGE*** (850/900/1800/1900 MHZ)

LG Wink Style T310 GSM GPRS EDGE*** (850/900/1800/1900 MHZ) Última versão de software homologada pela VIVO: LGT310AT-01-V10b-724-06-OCT-24-2010 DESTAQUES DO APARELHO Nome comercial: LG Wink Style T310 Display Full Touchscreen de 2.8" polegadas de TFT com 262 mil

Leia mais

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 5 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM DEZEMBRO / 2014 2 de 5 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

Equipamentos Particulares. Voz Móvel e Banda Larga. quinta-feira, 2 de Setembro de 2010

Equipamentos Particulares. Voz Móvel e Banda Larga. quinta-feira, 2 de Setembro de 2010 Equipamentos Particulares Voz Móvel e Banda Larga quinta-feira, 2 de Setembro de 2010 Placa Pós-Paga Huawei E1750 7,2 Mb Características 1700131625 Acesso em banda larga à internet, ao e-mail e a aplicações,

Leia mais

tendências MOBILIDADE CORPORATIVA Setembro/2012 INFORMATIVO TECNOLÓGICO DA PRODESP EDIÇÃO 03 Introdução Cenário atual Tendências Vantagens Riscos

tendências MOBILIDADE CORPORATIVA Setembro/2012 INFORMATIVO TECNOLÓGICO DA PRODESP EDIÇÃO 03 Introdução Cenário atual Tendências Vantagens Riscos tendências EDIÇÃO 03 Setembro/2012 MOBILIDADE CORPORATIVA Introdução Cenário atual Tendências Vantagens Riscos Recomendações para adoção de estratégia de mobilidade 02 03 04 06 07 08 A mobilidade corporativa

Leia mais

Linha Silk: a maneira leve para testar, desenvolver e gerenciar

Linha Silk: a maneira leve para testar, desenvolver e gerenciar Linha : a maneira leve para testar, desenvolver e gerenciar Leve Criado apenas com a funcionalidade que você precisa Barato Do uso gratuito ao licenciamento flexível Eficiente Software fácil de usar e

Leia mais

MONITOR E PREDITOR DE CONECTIVIDADE WIRELESS BASEADA EM LOCALIZAÇÃO GPS

MONITOR E PREDITOR DE CONECTIVIDADE WIRELESS BASEADA EM LOCALIZAÇÃO GPS MONITOR E PREDITOR DE CONECTIVIDADE WIRELESS BASEADA EM LOCALIZAÇÃO GPS Aluna: Eleonora Cominato Weiner Orientador: Markus Endler Introdução A palavra mobilidade ganha mais importância a cada instante,

Leia mais

Universal Mobile Ad Package UMAP- v.2.0. Dezembro 2011

Universal Mobile Ad Package UMAP- v.2.0. Dezembro 2011 Universal Mobile Ad Package UMAP- v.2.0 Dezembro 2011 Emitida pela MMA North América Board of Directors SWAT Team e o Comitê Global MMA de Mobile Advertising. Proposta Este conjunto atualizado de diretrizes

Leia mais

Série MAXPRO. de Soluções para Vídeo IP APRENDA UM, CONHEÇA TODOS. Aberta, Flexível e Dimensionável Plataforma de Vigilância de Vídeo

Série MAXPRO. de Soluções para Vídeo IP APRENDA UM, CONHEÇA TODOS. Aberta, Flexível e Dimensionável Plataforma de Vigilância de Vídeo Série MAXPRO de Soluções para Vídeo IP APRENDA UM, CONHEÇA TODOS Aberta, Flexível e Dimensionável Plataforma de Vigilância de Vídeo APRENDA UM, CONHEÇA TODOS Você está procurando por... sistemas que são

Leia mais

Gerenciador de sistemas Gerenciamento de dispositivo móvel com base em nuvem

Gerenciador de sistemas Gerenciamento de dispositivo móvel com base em nuvem Gerenciador de sistemas Gerenciamento de dispositivo móvel com base em nuvem Resumo O Gerenciador de sistemas da Meraki fornece gerenciamento centralizado em nuvem e pelo ar, diagnósticos e monitoramento

Leia mais

Nokia 7230 GSM GPRS EDGE (850/900/1800/1900 MHz) WCDMA (850/1900/2100MHZ)

Nokia 7230 GSM GPRS EDGE (850/900/1800/1900 MHz) WCDMA (850/1900/2100MHZ) Última versão de software homologada pela VIVO: V10.81 DESTAQUES DO APARELHO Bluetooth para conectividade sem fio; Câmera digital integrada (3.2M Pixel) com captura de vídeo (zoom 4 vezes); Display colorido

Leia mais

iphone 5S APRESENTAÇÃO

iphone 5S APRESENTAÇÃO Ideal Voz Empresarial iphone 5S O iphone 5 é uma verdadeira evolução do smartphone da Apple. Muito Fino e leve, o iphone 5 impressiona com seu design impecável e tela Retina de 4 polegadas. Apesar de seu

Leia mais

A WEB COMO PLATAFORMA Revolução do HTML5

A WEB COMO PLATAFORMA Revolução do HTML5 A WEB COMO PLATAFORMA Revolução do HTML5 Juliano Flores Prof. Lucas Plautz Prestes Centro Universitário Leonardo da Vinci - UNIASSELVI Gestão de TI (GTI034) 06/11/2012 RESUMO Escrever programas de computador,

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

Fundamentos da Computação Móvel

Fundamentos da Computação Móvel Fundamentos da Computação Móvel (Sistemas Computacionais Móveis) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto

Leia mais

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso

Leia mais

Samsung GT-E2550L GSM GPRS EDGE*** (850/900/1800/1900 MHZ)

Samsung GT-E2550L GSM GPRS EDGE*** (850/900/1800/1900 MHZ) Última versão de software homologada pela VIVO: E2550LVIJG1 DESTAQUES DO APARELHO Nome comercial: Samsung GT-E2550L Câmera digital integrada (1.3M Pixel) com captura de vídeo (zoom 2 vezes); Display colorido

Leia mais

Portfólio de Aparelhos Claro Empresas NE

Portfólio de Aparelhos Claro Empresas NE Portfólio de Aparelhos Claro Empresas NE Aparelhos de Entrada LG A180 Grafite Dual band : 900/1800MHz Digitação Inteligente Viva Voz Integrado Aparelhos de Entrada Samsung E1086 Dual band : 900/1800MHz

Leia mais

MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID

MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID Alessandro Teixeira de Andrade¹; Geazy Menezes² UFGD/FACET Caixa Postal 533,

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

10 DICAS PARA TURBINAR SEU PACOTE DE DADOS. 1 - Desative os Dados do Celular. 2 Remova as notificações e atualizações automáticas

10 DICAS PARA TURBINAR SEU PACOTE DE DADOS. 1 - Desative os Dados do Celular. 2 Remova as notificações e atualizações automáticas 10 DICAS PARA TURBINAR SEU PACOTE DE DADOS 1 - Desative os Dados do Celular Sempre que você não estiver usando a conexão, desligue a internet do seu aparelho. Mesmo em espera, os programas do celular ou

Leia mais

MOBILE MARKETING. Prof. Fabiano Lobo

MOBILE MARKETING. Prof. Fabiano Lobo MOBILE MARKETING Prof. Fabiano Lobo - Conforme estipulado no Termo de Uso, todo o conteúdo ora disponibilizado é de titularidade exclusiva do IAB ou de terceiros parceiros e é protegido pela legislação

Leia mais

A Intel espera uma redução de 20% nos custos de audioconferências com solução de comunicações unificadas

A Intel espera uma redução de 20% nos custos de audioconferências com solução de comunicações unificadas Microsoft Office System Estudo de caso da solução do cliente A espera uma redução de 20% nos custos de audioconferências com solução de comunicações unificadas Visão geral País ou região: Estados Unidos

Leia mais

GUIA DE RECURSOS SMART

GUIA DE RECURSOS SMART GUIA DE RECURSOS SMART Características dos aplicativos da SMART TV 1.Android 4.2 dual-core smart TV 2.Conexão de rede (com fio/sem fio/pppoe/wlan HP) 3. Sync-View (opcional) 4. Multi-screen Interativa

Leia mais

Desenvolvimento de um Framework de Jogos 3D para Celulares

Desenvolvimento de um Framework de Jogos 3D para Celulares Desenvolvimento de um Framework de Jogos 3D para Celulares Fabrício Brasiliense Departamento de Informática e Estatística(INE) Universidade Federal de Santa Catarina (UFSC) Campus Universitário Trindade-

Leia mais

Entenda os formatos mais populares de vídeo

Entenda os formatos mais populares de vídeo Entenda os formatos mais populares de vídeo Com o grande crescimento da internet banda larga no país muitos internautas estão cada vez mais tendo contato com arquivos de vídeo, tanto na visualização online

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Introdução Professor: Danilo Giacobo UM POUCO DE HISTÓRIA 1888: Transmissão de códigos sonoros pelo ar pelo físico alemão Heinrich. 1914: Primeira ligação telefônica

Leia mais

I N T R O D U Ç Ã O W A P desbloqueio,

I N T R O D U Ç Ã O W A P desbloqueio, INTRODUÇÃO Para que o Guia Médico de seu Plano de Saúde esteja disponível em seu celular, antes de mais nada, sua OPERADORA DE SAÚDE terá de aderir ao projeto. Após a adesão, você será autorizado a instalar

Leia mais

SISTEMA BASEADO EM LOCALIZAÇÃO DE SERVIÇOS DE TÁXI

SISTEMA BASEADO EM LOCALIZAÇÃO DE SERVIÇOS DE TÁXI SISTEMA BASEADO EM LOCALIZAÇÃO DE SERVIÇOS DE TÁXI Acadêmico: Arthur Henrique Kienolt Orientador: Prof. Dr. Mauro Marcelo Mattos ROTEIRO Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais