Desenvolvimento de Aplicações para Plataforma Google Android

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

Download "Desenvolvimento de Aplicações para Plataforma Google Android"

Transcrição

1 Capítulo 5 Desenvolvimento de Aplicações para Plataforma Google Android Fábio de Jesus Lima Gomes, Manoel Taenan Ferreira de Souza, Rafael Madureira Lins de Araújo Abstract Com a evolução da tecnologia móvel, os dispositivos móveis tornaram-se uma importante fonte de transmissão e recepção de informações, gerando a necessidade de sistemas operacionais mais robustos e uma considerável demanda para o desenvolvimento de serviços e aplicações. A plataforma Google Android surgiu para preencher esta lacuna. Dessa forma, este mini-curso pretende disseminar conceitos envolvidos no desenvolvimento de serviços e aplicações para a plataforma Google Android. Também será abordado como aplicações para dispositivos móveis podem consumir serviços web através da arquitetura REST. Resumo With the evolution of mobile technology, mobile devices have become an important source of transmission and reception of information, creating the need for more robust operating systems and a considerable demand for the development of services and applications. The Google Android platform was created in order to fill this gap. Thus, this mini-course aims disseminate concepts about developing services and applications for the Google Android platform. Also we will describe how mobile applications can consume web services via REST architecture Introdução O Google Android OS, também chamado apenas de Android, é um sistema operacional de código aberto para dispositivos móveis e utiliza uma versão modificada do Sistema Operacional Linux. Permite a desenvolvedores criarem aplicações Java que controlam o dispositivo através de bibliotecas desenvolvidas pela Google. O Android também provê uma infra-estrutura robusta de execução de aplicações Java. Apesar de ser recente (seu 100

2 lançamento foi em 2008), o Android foi adotado rapidamente por diversos fabricantes de dispositivos móveis e atualmente é a plataforma que mais cresce no mundo. Atualmente, a plataforma Google Android é mantida pela OHA (Open Handset Alliance), um grupo formado por mais de 40 empresas que se uniram para inovar e acelerar o desenvolvimento de aplicações e serviços para dispositivos móveis, trazendo aos consumidores uma experiência mais rica em termos de recursos e menos onerosa financeiramente para o mercado. Pode-se dizer que a plataforma Google Android é a primeira plataforma completa, aberta e livre para dispositivos móveis. O Android SDK é o kit de desenvolvimento que disponibiliza as ferramentas e APIs necessárias para desenvolver aplicações para a plataforma Google Android, utilizando a linguagem Java. Este mini-curso visa abordar conceitos envolvidos sobre desenvolvimento de aplicações para a plataforma Google Android, apresentando os principais aspectos do desenvolvimento de aplicações para dispositivos móveis, com enfoque para o desenvolvimento de aplicações que consomem serviços web utilizando a linguagem Java. Pretende-se capacitar os participantes no desenvolvimento de aplicações Java para plataforma Google Android com base no Android SDK e demonstrar a arquitetura REST (Representational State Transfer) de desenvolvimento de aplicações web. O curso procura explorar as funcionalidades dessas tecnologias através do desenvolvimento passo a passo de aplicações-exemplos Arquitetura do Google Android Android é uma pilha de software para dispositivos móveis que inclui sistema operacional, middleware e aplicações-chave. Esta pilha possui 4 níveis (Google, 2011): Figura 5.1 Arquitetura da Plataforma Google Android (Google, 2011) 101

3 1. LINUX KERNEL: a base da pilha é o kernel. O Google usou a versão 2.6 do Linux para construir o kernel do Android, que inclui serviços essenciais do sistema, tais como, gerenciamento de memória, gerenciamento de processos, gerenciamento de energia, configurações de segurança, configurações de rede e drivers. O kernel também atua como uma camada de abstração entre o hardware do dispositivo e os outros níveis da pilha de software. 2. RUNTIME ANDROID e LIBRARIES: acima do kernel estão as bibliotecas do Android e o android runtime. Android runtime consiste de um conjunto de bibliotecas que fornece a maioria das funcionalidades disponíveis nas principais bibliotecas da linguagem de programação Java e de uma Máquina Virtual Dalvik (DVM). Uma aplicação Android roda em seu próprio processo, com a sua própria instância da máquina virtual Dalvik. Dessa forma, nenhuma aplicação é dependente de outra; se uma aplicação pára, ela não afeta quaisquer outras aplicações executando no dispositivo e isso simplifica o gerenciamento de memória. Dalvik foi escrito de modo que um dispositivo possa executar várias VMs eficientemente. Android possui um conjunto de bibliotecas C/C ++ usado por diversos componentes da plataforma. As principais bibliotecas são listadas abaixo: System C library uma implementação da biblioteca padrão C (libc), derivada do sistema operacional BSD, alterada para dispositivos embarcados baseados no Linux; Media Libraries baseada no OpenCORE da PacketVideo; estas bibliotecas suportam reprodução e gravação de muitos formatos populares de áudio, vídeo e imagem, tais como, MPEG4, H.264, MP3, AAC, AMR, JPG, e PNG. Surface Manager gerencia acesso ao sub-sistema de exibição e compõe as camadas gráficas 2D e 3D para as aplicações. LibWebCore um moderno engine para um navegador web que alimenta o navegador do Android. SGL engine de gráficos 2D. 3D libraries uma implementação baseada nas APIs OpenGL ES 1.0; estas bibliotecas usam aceleração de hardware 3D (quando disponível) ou o software embutido no sistema. FreeType renderizador de bitmap e fontes vetorizadas. SQLite engine leve e poderoso de banco de dados relacional para as aplicações. 3. APPLICATION FRAMEWORK: O próximo nível é o framework de aplicação que consiste nos programas que gerenciam as funções básicas do telefone, tais como, alocação de recursos, aplicações de telefone, mudança entre processos ou programas e informações sobre a localização física do aparelho. Os desenvolvedores de aplicações têm acesso total ao framework de aplicação do Android. Isso possibilita tirar vantagem das capacidades de processamento e do suporte de recursos do Android. 102

4 4. APPLICATIONS: No topo da pilha estão as aplicações em si. Aqui se encontram as funções básicas do dispositivo, como fazer chamadas telefônicas, acessar o navegador web ou acessar sua lista de contatos. Esta é a camada do usuário comum, que utiliza a interface de usuário. Apenas os programadores do Google, os desenvolvedores de aplicação e os fabricantes de hardware acessam as camadas inferiores da pilha. O Android contém um conjunto de aplicativos, implementados em Java, como um cliente de , programa para SMS (Short Message Service), calendário, mapas, navegador e gerenciador de contatos Componentes de uma aplicação Android As aplicações Android podem ser divididas em quatro tipos de componentes básicos que são definidos pela própria arquitetura (ABLESON,2007), são eles: Activities Funcionam como mediadores que definem como as informações serão apresentadas ao usuário, além de controlar o fluxo da aplicação. Elas podem interagir com o usuário e trocar informações com outras activities ou services (MEIER,2009). A maioria do código que escreveremos para uma aplicação Android irá executar no contexto de uma activity. Activities normalmente correspondem a telas: cada activity mostra uma tela para o usuário. Quando esta não está em execução, o sistema operacional pode eliminá-la para liberar memória Ciclo de vida de uma Activity Ao longo de sua criação até o momento de sua eliminação da memória, uma activity atravessará seis estados, podemos referenciar cada estado pelos métodos: OnCreate É chamado quando a activity é criada. Ela é obrigatória e chamada apenas uma vez, deve referenciar a tela que será apresentada ao usuário. OnStart É chamado quando a activity está ficando visível e já tem uma tela definida. OnResume É chamado quando a activity foi parada temporariamente e está retornando à execução. OnPause É chamado quando a activity está sendo tirada do topo da execução. Geralmente é utilizado para salvar o estado da aplicação. OnStop É chamado quando a activity não está mais visível e está em segundo plano. OnDestroy Executa os últimos processamentos antes da activity ser literalmente encerrada. 103

5 Services Figura 5.2. Ciclo de vida de uma Activity. São programas que executam em segundo plano. Não interagem diretamente com o usuário e podem ficar executando por tempo indefinido Broadcast e Intent Receivers São componentes que ficam aguardando a ocorrência de um determinado evento, podese entender como evento a inicialização do sistema operacional, uma chamada de voz, a chegada de um SMS, um evento disparado por uma aplicação (MEIER,2009). Intents são elementos chave no Android, porque facilitam a criação de novas aplicações a partir de aplicações já existentes. Precisaremos utilizar Intents para interagir com outras aplicações e serviços que proporcionarão informações necessárias para nossa aplicação Content Providers São os compartilhadores de conteúdo entre as aplicações, uma aplicação pode requisitar informações de outra, por exemplo, uma aplicação pode receber dados da lista de contatos que é nativa do Android, e com base nesses dados, realizar algum processamento (LECHETA,2010). 104

6 5.4. Android SDK e seus pacotes para implementação de aplicações O SDK é um conjunto de ferramentas utilizadas para desenvolver aplicações para a plataforma Android. Possui um emulador para simular o dispositivo móvel e uma API completa para a linguagem Java, com todas as classes necessárias para desenvolver as aplicações (BURNETTE, 2008). Existem atualmente três versões do SDK para atender a maior parte dos desenvolvedores: versão para Windows, Linux e Mac OS. O ambiente de desenvolvimento que nos utilizaremos nos exemplos seguintes é composto, além do JDK e Android SDK, pelo Eclipse IDE versão Galileo e o Android Development Plugin (ADT), um plugin que ajudará na integração da IDE com o emulador. Os componentes do ambiente de desenvolvimento podem ser encontrados nos links a seguir: JDK: Android SDK: Eclipse IDE: ADT: Conceitos básicos do Android Criando uma Activity A classe android.app.activity é utilizada para criar uma tela na aplicação. Essa tela é composta de vários elementos visuais, os quais no Android são representados pela classe android.view.view (LECHETA, 2010). A classe android.view.view pode representar algo simples como um botão, um checkbox ou imagem, como também pode representar algo complexo como um gerenciador de layout, a qual pode conter várias views aninhadas para organizar na tela. Figura 5.3. Exemplo de uma Activity. O método setcontentview(view) é o que faz a ligação entre a activity e a view e recebe como parâmetro a view que será exibida na tela. 105

7 A classe R A classe R é criada automaticamente pelo ADT e não pode ser alterada manualmente. Nela existem constantes para os recursos do projeto. Cada constante é nomeada com o nome do recurso, que deve ser escrito com letra minúscula e sem espaço, e recebe um valor inteiro O arquivo AndroidManifest.xml Toda aplicação Android deve ter um arquivo AndroidManifest.xml em seu diretório raiz. Esse arquivo apresenta informações essenciais sobre a aplicação para o sistema operacional, que deve possuir informações do sistema antes que possa executar qualquer solicitação do código do aplicativo (MEDNIEKS,2009). Ele armazena informações como o nome do pacote da aplicação, descreve os componentes da aplicação, determina qual processo da aplicação vai armazenar os componentes, declara de que formas as solicitações devem ter permissões para acessar partes protegidas da API e interagir com outras aplicações. Declara também as permissões que os outros processos serão obrigados a ter, fim de interagir com os componentes da aplicação, enumera classes e perfis e fornece outras informações sobre como a aplicação será executada, declara qual o nível mínimo da API que o aplicativo exige e enumera bibliotecas que estarão relacionadas com a aplicação. Figura 5.4. Exemplo de arquivo AndroidManifest.xml Criação de uma interface visual O Android fornece um sofisticado e poderoso modelo, baseado em componentes, para construir sua interface, baseado no esquema de classes fundamentais: android.view.view e android.view.viewgroup, e inclui também as suas classes filhas chamadas de widgets e layouts respectivamente(lecheta, 2010). Podemos citar alguns exemplos de widgets como Button, TextView, EditText, ListView, CheckBox, RadioButton, Gallery, Spinner, e outros. Podemos citar, também, exemplos de layouts como LinearLayout, FrameLayout, RelativeLayout entre outros. Para exemplificar a criação da interface visual criaremos uma tela de login, a qual conterá os campos de nome de usuário e senha, e um botão para submetê-los. 106

8 Figura 5.5. Representação gráfica da tela de login. Figura 5.6. Código da tela de login 107

9 Podemos observar que foram utilizados três tipos de widgets e um layout. Dois TextView que são utilizados para renderizar strings na tela e dois EditText que são caixas para receber texto. Foi utilizado, também, um Button para enviar os dados e um LinearLayout para organizá-los na tela. Podemos observar, também, alguns atributos como o id que serve como identificador de cada componente, o text que tem o funcionamento semelhante ao value do HTML e o atributo password que esconde os caracteres digitados no nosso EditText O método findviewbyid() Ao construir uma tela usando um arquivo XML de layout, surge a necessidade de recuperar os objetos definidos no arquivo dentro do código-fonte da aplicação para obter seus valores ou definir atributos (LECHETA, 2010). Podemos recuperar um objeto de visão através do seu identificador único (android:id), passando-o como parâmetro no método findviewbyid(id). Esse método recebe o id do componente desejado e retorna uma subclasse de android.view.view, como as classes Button, TextView e EditText. Na figura a seguir é mostrado como recuperar a senha inserida pelo usuário através do método findviewbyid(id) e uma pequena ajuda da classe R. Figura 5.7. Exemplo da utilização do método findviewbyid() Intent Uma intent representa uma intenção da aplicação em realizar alguma ação. Ela envia uma mensagem ao sistema operacional chamada de broadcast. Ao receber essa mensagem, o sistema operacional tomará as decisões necessárias (LECHETA, 2010). 108

10 Uma intent é representada pela classe android.content.intent e pode ser utilizada para enviar uma mensagem ao sistema operacional, abrir uma nova tela da aplicação, utilizando o método startactivity(intent), solicitar ao sistema operacional que ligue para determinado número de celular, abrir o browser em um determinado endereço da internet, exibir algum endereço, localização ou rota no Google Maps dentre outros Navegação entre telas com passagem de parâmetros Existem dois métodos de se iniciar uma nova tela (activity), através dos métodos startactivity(intent) e startactivityforresult(intent,codigo) que apenas inicia uma nova activity ou inicia uma nova activity e cria um vínculo para ser utilizado ao retornar respectivamente (PEREIRA, 2009). Para que o sistema operacional possa reconhecer nossa nova activity, é necessário adicionar seu endereço no arquivo AndroidManifest.xml. Figura 5.8. Trecho do arquivo AndroidManifest.xml que contém a nova activity. Podemos enviar informações para outras telas através de uma intent. Figura 5.9. Exemplo de passagem de parâmetro e troca de tela através de uma intent Podemos observar na figura 5.8, que é criada uma intent com a activity da telaalvo, é passado como parâmetro através do método putextra() o texto contido no EditText referente ao usuário para a próxima tela, e finalmente, a nova activity é iniciada através do método startactivity(intent). 109

11 Figura Código da classe SegundaTela. Observando essa classe, vemos que a intent é capturada através do método getintent() e recebemos o parâmetro do login através do método getstringextra(string). O conteúdo da tela é apenas um TextView com uma mensagem de boas vindas Intents Nativas do Android Vimos no exemplo anterior que é possível iniciar uma nova activity através das intents. O Android possui alguns tipos de intents pré-definidas que podemos utilizar para enviar mensagens ao SO, porém, algumas delas necessitam de permissões para executar, tais permissões precisam ser registradas no arquivo AndroidManifest.xml (PEREIRA,2009). Várias intents como a ACTION_VIEW, que serve para iniciar o navegador, a ACTION_CALL, que é utilizada para realizar chamadas, a ACTION_PICK, que serve para visualizar todos os contatos, dentre outras, são utilizadas em aplicações Android. A seguir veremos um exemplo de como chamar o navegador através de uma intent pré-definida no Android. Figura Exemplo da iniciação do navegador através de uma Intent. O exemplo demonstra a utilização da intent ACTION_VIEW, mas, para usar essa intent é necessária a permissão INTERNET que deve ter sido registrada previamente. Figura Inserindo a permissão INTERNET no arquivo AndroidManifest.xml 110

12 5.4.3 Intent Filter Podemos utilizar intents para enviar mensagens ao sistema operacional, definindo uma ação que identifique essa intent. Então quando a mensagem for enviada ao sistema operacional ela seja identificada por essa ação, e somente uma activity que esteja mapeada para aquela ação será executada (MEDNIEKS, 2009). Esse tipo de rotina é bem prática quando queremos que mais de um programa esteja configurado para receber uma ação (LECHETA, 2010). Para definir essa ação, basta criar uma Intent usando seu construtor, que recebe uma string que identifica a ação, como, por exemplo: Figura Exemplo de uma chamada de ação por uma Intent. Logicamente, alguém tem que responder por essa ação. Para isto, precisamos mapear um Intent Filter no arquivo AndroidManifest.xml, para escutar esse chamado e delegar a execução à uma activity. Figura Código fonte da classe SegundaTela BroadcastReceiver Figura Exemplo de mapeamento de uma Intent Filter. A classe BroadcastReceiver é utilizada para responder a determinados eventos enviados por uma intent. Ela sempre é executada em segundo plano durante pouco tempo, normalmente dez segundos. Não deve ter interface gráfica ou interação com o usuário (LECHETA, 2010). 111

13 É utilizada normalmente para executar algum processamento sem que o usuário perceba, em segundo plano. Assim como uma activity, devemos declará-lo no arquivo AndroidManifest.xml através da tag <receiver>, deve ser declarada, também, um Intent Filter para o broadcast, ou podemos registrá-lo dinâmicamente, utilizando o método registerreceiver(receiver,filtro), que tem como parâmetros uma classe-filha de IntentReceiver e uma instância da classe IntentFilter que possui a configuração da ação e a categoria (LECHETA, 2010). O método para enviar uma mensagem para um broadcast é diferente do utilizado para uma intent que chama uma activity. O método utilizado é o sendbroadcast(intent) que envia uma mensagem para todas as aplicações instaladas no celular. Para implementar um BroadcastReceiver deve-se extender a classe BroadcastReceiver e implementar o método onreceive() que será executado assim que o IntentFilter receber a mensagem. Figura Utilizando o método sendbroadcast(intent). 112

14 Figura Exemplo de um BroadcastReceiver. Apenas por motivos didáticos foi utilizado a classe Toast para verificar o funcionamento do BroadcastReceiver. Recomenda-se que não tenha nenhum tipo de interação com o usuário Notification Figura Exemplo do mapeamento de um BroadcastReceiver. A classe Notification é utilizada para exibir informações ao usuário sem que este seja interrompido se estiver executando alguma atividade. O usuário pode escolher visualizar as informações neste momento, ou depois (LECHETA, 2010). A notificação é exibida na barra de status do celular para chamar a atenção do usuário. Ao ser visualizada, a intent configurada pode uma abrir uma nova activity ou pode ser usada para iniciar um serviço por exemplo (MEIER, 2009). Um exemplo de notificação é a recepção de uma nova SMS, onde usuário pode decidir visualizá-la ou não. Para criar uma notificação é necessário capturar um serviço do Android chamado de NOTIFICATION_SERVICE, será necessário, também utilizar a classe PendingIntent que criará uma intent que ficará pendente até o usuário decidir visualizar a notificação: 113

15 Figura Exemplo da criação de uma notificação. Podemos observar, que o construtor da classe Notification recebe três parâmetros: o ícone que deverá ser exibido, o título da notificação e a hora que aparecerá do lado da notificação. Observamos, também, que deve-se informar através do método setlatesteventinfo, a mensagem que aparecerá na barra de status assim que a notificação for reconhecida pelo serviço de notificações do android, o título da notificação e a intent que deverá ser chamada quando o usuário visualizar a notificação. Figura Classe que será instanciada quando a notificação for visualizada. A figura anterior mostra a classe que será instanciada quando o usuário visualizar a notificação. Capturamos o serviço de notificações do android, e pedimos 114

16 para que a notificação não apareça mais na barra de status através do método cancel(int) que recebe como parâmetro o id da notificação Service Têm as mesmas características dos serviços dos sistemas operacionais de computador. São utilizados quando queremos executar algo por tempo indeterminado em segundo plano e que exija um alto consumo de recursos, memória e CPU (LECHETA, 2010). Geralmente são iniciados por um BroadcastReceiver para executar algum processamento demorado, pois um BroadcasReceiver tem um tempo determinado para executar (PEREIRA, 2009). É interessante que os serviços tenham suas próprias threads para que fiquem independentes do programa hospedeiro. Eles também possuem um ciclo de vida próprio, semelhante ao de uma Activity, mas possuem apenas três estágios: o oncreate, onstart e ondestroy, que desempenham o mesmo papel que o de uma Activity. Para iniciar um serviço é necessário criar uma activity que chame o método startservice(intent). Para parar um serviço existem duas maneiras: a primeira é chamar o método stopservice(intent), a mesma intent utilizada para iniciar o serviço deve ser usada para pará-lo, e a segunda forma é o próprio serviço chamar o método stopself(). Figura Chamando um serviço. Para implementar um serviço é necessário estender a classe android. 115

17 Figura Exemplo de um serviço. Para exemplificar o funcionamento de um serviço, utilizamos esta classe, que quando iniciada, cria uma série de logs. Podemos observar que mesmo fechando a aplicação que iniciou o serviço, ele continua criando logs até chamar o método stopself(). É necessário mapear o serviço no arquivo AndroidManifest.xml e configurar um IntentFilter com a ação que iremos passar como parâmetro pela nossa Intent. 116

18 5.4.7 AlarmManager Figura Exemplo do mapeamento de um serviço. São eventos agendados no sistema operacional para serem executados no futuro (LECHETA, 2010). É utilizado quando é necessário executar algo uma vez em determinado horário ou ficar repetindo de tempos em tempos. Quando agendados, ficam ativos no sistema até que sejam explicitamente cancelados, ou o sistema for reiniciado. Para agendar um alarme, primeiro temos que definir uma intent com o BroadcastReceiver que irá responder pelo nosso alarme. Depois temos que capturar o serviço do Android responsável pelo gerenciamento dos alarmes, o AlarmManager. Figura Agendando um alarme. 117

19 Figura BroadcastReceiver que será chamado pelo nosso alarme Arquitetura REST de desenvolvimento de aplicações Web Vivemos hoje uma febre de Apps pequenos aplicativos auto-contidos que tem uma única função e comumente são interfaces para sistemas Web. A maioria desses aplicativos é extremamente dependente de dados para serem úteis e esses dados podem vir dos mais variados lugares por exemplo, a plataforma Android disponibiliza ao desenvolvedor uma pequena base dados SQLite onde ele pode criar suas tabelas, armazenar e buscar dados, mas cada vez mais esses dados vêm de serviços web. A Web é uma plataforma orientada a recursos. Um Recurso pode ser definido como qualquer coisa que é exposta a Web através de um identificador e que possamos manipular (ler e/ou escrever) (WEBBER; PARASTATIDIS, 2010).. Desde sua formalização REST1 vem sendo um termo e, mais adequadamente, uma arquitetura de software de sistemas Web cada vez mais utilizado, estudado e discutido. Esta arquitetura foi proposta pelo Dr. Roy T. Fielding em 2000 e desde então vem sendo adotada em vários sistemas de grande porte como Twitter, Facebook, Flickr e todas as APIs de serviços públicos do Google como Google Agenda, Google Health, Google Data e Google Maps. Veremos a seguir o que é REST e, em seguida, formas de se trabalhar com REST em Java Definição O protocolo HTTP, e consequentemente servidores HTTP, é um protocolo simples e sem muitos recursos. Em sua primeira versão ele apresentou endereçamento e statelessness: duas características de seu projeto que o tornou um avanço perante seus rivais e que ainda o mantém escalável mesmo nos mega-sites de hoje (RICHARDSON; RUBY, 2007). Sistemas com esta arquitetura são sistemas Clientes-Servidores comuns, entretanto suas requisições e respostas são construídas ao redor da transferência da representação de recursos. Recursos são os blocos fundamentais de sistemas baseados na web, ao ponto que a Web é considerada como orientada a recursos (WEBBER; PARASTATIDIS, 2010). A abstração chave de informação do REST são os recursos. Qualquer informação que pode ser nomeada pode ser um recurso: documentos, imagens, informações sobre o tempo, uma pessoa, e assim sucessivamente (FIELDING, 2000). 1 Representational State Transfer Transferência de Estado Representacional 118

20 Um dos recursos mais comuns da Web são páginas HTML, que em sistemas são comumente a representação de um recurso interno do sistema, por exemplo, uma página de exibição de um vídeo do YouTube é a representação do recurso vídeo do sistema. Um mesmo recurso pode ter várias representações diferentes. Utilizando o exemplo do vídeo do YouTube, uma representação é a página HTML onde é mostrado o vídeo, comentários, etc. outra representação é vista quando o vídeo é incorporado em outra página. Nessa representação vemos apenas um player que carrega o vídeo em questão. Outra representação, um pouco menos conhecida, é a representação em XML2 ou mais recentemente JSON3, ambas tecnologias de transição de dados hierárquicos. Devido a essas características REST também requer que as aplicações façam total distinção entre cliente e servidor através da implementação das seguintes características: 1. Cliente-Servidor: Clientes são separados dos Servidores por uma interface uniforme. Essa divisão faz com que o cliente não se preocupe com, por exemplo, armazenamento de dados ao passo que o servidor não se preocupa com interface com o usuário; 2. Stateless (Sem Estado): A comunicação cliente-servidor ocorre sem que nenhum contexto relativo ao cliente seja armazenado no servidor entre as requisições. Cada requisição de cada cliente contém toda informação necessária para atender aquela requisição e a reposta deve conter toda a informação para satisfazer a requisição; 3. Cache: Como é comum na Web, o cliente pode manter um cache das respostas do servidor, portanto é recomendado que as respostas contenham informações sobre se podem e como deve ser feito o cache a fim de evitar que clientes requisitem um mesmo recurso repetidamente. Um bom cache elimina várias interações clienteservidor desnecessárias o que proporciona escalabilidade e performance; 4. Camadas: Um cliente não pode normalmente distinguir se ele está ou não conectado ao servidor final ou apenas a um intermediário. Um sistema com vários servidores permite o balanceamento de carga, caches compartilhados e ajudam a manter uma boa segurança; 5. Código sob demanda (opcional): Servidores podem ser capazes de estender a funcionalidade de um cliente transferindo lógica para que ele execute. Exemplos disso são componentes compilados como Applets Java ou scripts no lado cliente como JavaScript; 6. Interface uniforme: Todo cliente obedece ao mesmo formato de requisição e recebe o mesmo formato de resposta. 2 3 XML extensible Markup Language Linguagem de marcação extensível. JavaScript Object Notation Notação de Objetos JavaScript. 119

21 A arquitetura REST está fundamentada sob o protocolo HTTP e seus métodos. Clientes que acessam recursos informando sua intenção através do método que executam sob o recurso. A maioria dos sistemas hoje em dia segue a seguinte convenção de métodos HTTP, concebidos para simular operações de CRUD: GET: Leitura; POST: Escrita; PUT: Alteração ou Atualização; DELETE: Remoção. Muitas aplicações novas estão utilizando os princípios REST a fim de obterem um bom nível de escalabilidade. Normalmente essas aplicações disponibilizam a seus usuários uma API dos métodos REST disponíveis, suas entradas e suas saídas. Para compreender melhor, vejamos a API de um sistema referência em tecnologia REST: o Twitter. O Twitter disponibiliza em seu website uma extensa e detalhada documentação da API de seu sistema4. uma plataforma de apoio aos desenvolvedores que desejam criar clientes para o Twitter com páginas de ajuda onde são descritos os métodos da API, um guia ao desenvolvedor e ferramentas para ajudá-lo. Chamadas a alguns métodos da API podem ser feitas, para testes, através de um navegador web qualquer. Durante a escrita deste texto, a API do Twitter aceita a seguinte chamada: Para chamar este método da API basta abrir esta URL em qualquer navegador web. Ao abrir esta URL em um navegador, o que é feito é uma chamada a API através do método HTTP GET. Chamadas a qualquer API REST na Web são compostas de 3 partes: 1. A URL correspondente ao método da API 2. Os parâmetros da chamada ao método screen_name = fat 3. O método HTTP utilizado para chamada aquela URL Por padrão, toda transação HTTP dos navegadores atuais utiliza o método GET. A URL é uma chamada ao método 1/users/show da API do Twitter. Uma particularidade dessa API é a possibilidade de escolha do formato de representação do recurso: XML ou JSON, representado pela extensão do arquivo na URL. 4 Disponível em - Acesso em 12 outubro

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

Desenvolvimento de aplicações na plataforma Google Android

Desenvolvimento de aplicações na plataforma Google Android Desenvolvimento de aplicações na plataforma Google Android Rafael M. Lins Manoel Taenan Prof. Dr. Fábio Gomes Design by Rafael M. Lins Autores Rafael Madureira Lins de Araújo Bla bla bla Manoel Taenan

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

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

Departamento de Engenharia e Ciências do Mar Licenciatura em Engenharia Informática e de Computadores Projeto Fim de Curso TÍTULO

Departamento de Engenharia e Ciências do Mar Licenciatura em Engenharia Informática e de Computadores Projeto Fim de Curso TÍTULO Departamento de Engenharia e Ciências do Mar Licenciatura em Engenharia Informática e de Computadores Projeto Fim de Curso TÍTULO CLASS-REMINDER PARA ESTUDANTES DO DECM AUTOR: Arilson Jorge Santos Rocha

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

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

Android Básico Hello World!

Android Básico Hello World! Android Básico Hello World! Instrutor Programador desde 2000 Aluno de doutorado Mestre em informática pelo ICOMP/UFAM Especialista em aplicações WEB FUCAPI marcio.palheta@gmail.com sites.google.com/site/marcio

Leia mais

Google. Ricardo R. Lecheta. Aprenda a criar aplicações para dispositivos móveis com o Android SDK. Novatec

Google. Ricardo R. Lecheta. Aprenda a criar aplicações para dispositivos móveis com o Android SDK. Novatec Google Aprenda a criar aplicações para dispositivos móveis com o Android SDK Ricardo R. Lecheta Novatec Sumário Agradecimentos... 15 Sobre o autor... 16 Prefácio... 17 Capítulo1 Introdução ao Android...

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

Desenvolvimento de Aplicações. Android. Rick Rogers, John Lombardo, Zigurd Mednieks e Blake Meike. Novatec

Desenvolvimento de Aplicações. Android. Rick Rogers, John Lombardo, Zigurd Mednieks e Blake Meike. Novatec Desenvolvimento de Aplicações Android Rick Rogers, John Lombardo, Zigurd Mednieks e Blake Meike Novatec Sumário Prefácio... xi Público-alvo...xi Organização do livro...xii Convenções adotadas neste livro...xiii

Leia mais

Computação II Orientação a Objetos

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

Leia mais

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

API's e Aplicações para Android

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

Leia mais

CURSOS ANDROID. Prof: Igor Portela

CURSOS ANDROID. Prof: Igor Portela CURSOS ANDROID Prof: Igor Portela O que é Android? Sistema operacional para dispositivos móveis baseado em Linux. Desenvolvido pela Android Inc, comprado pelo Google em 2005 É open source sob licença Apache.

Leia mais

Conceitos Básicos e Práticos do Android

Conceitos Básicos e Práticos do Android Pílula de Conhecimento Android Página: 1 Pílula 1 Conceitos Básicos e Práticos do Android I OBJETIVOS! Conhecer o Sistema Operacional Móvel Android.! Entender a composição do Android diferenciando suas

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

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

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ADS 6º Período Activity INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Activity A classe activity

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

Desenvolvimento de um aplicativo básico usando o Google Android

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

Leia mais

Nelson Glauber de Vasconcelos Leal

Nelson Glauber de Vasconcelos Leal Nelson Glauber de Vasconcelos Leal Novatec Copyright 2015 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial,

Leia mais

Desenvolvimento Android. Pontapé inicial...

Desenvolvimento Android. Pontapé inicial... Desenvolvimento Android Pontapé inicial... Toshi Kurauchi andrew.kurauchi@gmail.com @toshikurauchi Por que desenvolver para Android? Por que desenvolver para Android? Por que desenvolver para Android?

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

CONTEÚDO (técnico) COMPLETO DO TREINAMENTO INTENSIVO PARA ANDROID Universidade Android

CONTEÚDO (técnico) COMPLETO DO TREINAMENTO INTENSIVO PARA ANDROID Universidade Android Conteúdo detalhado CONTEÚDO (técnico) COMPLETO DO TREINAMENTO INTENSIVO PARA ANDROID Universidade Android Android Básico 1. Dispositivos Android 2. Instalação do Android 3. Emuladores de Android 4. Exercício:

Leia mais

Minicurso - Android Fábio Silva / João Paulo Ribeiro

Minicurso - Android Fábio Silva / João Paulo Ribeiro Minicurso - Android Fábio Silva / João Paulo Ribeiro Quem somos? :D Graduando em Ciência da Computação na Universidade Federal de Campina Grande @ffosilva www.fabiosilva.org Quem somos? :D Graduando em

Leia mais

Capítulo 04: Persistência com SQLite

Capítulo 04: Persistência com SQLite Capítulo 04: Persistência com SQLite Instrutor Programador desde 2000 Aluno de doutorado Mestre em informática pelo ICOMP/UFAM Especialista em aplicações WEB FUCAPI marcio.palheta@gmail.com sites.google.com/site/marcio

Leia mais

Desenvolvimento de um aplicativo básico usando o Google Android

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

Leia mais

Criar um novo projecto

Criar um novo projecto Criar um novo projecto Criar um novo projecto (2) Criar um novo projecto (3) Criar um novo projecto (4) Criar um novo projecto (5) Criar um novo projecto (6) Estrutura do projecto O Eclipse criou-nos um

Leia mais

Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android

Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android Instalação e Configuração do Ambiente de Desenvolvimento Instalação

Leia mais

EA998/MC933 Guido Araujo e Sandro Rigo

EA998/MC933 Guido Araujo e Sandro Rigo EA998/MC933 Guido Araujo e Sandro Rigo 1 Hoje Ch1: Android Overview Ch2: The Stack Ch3: Quick Start Ch4: Main Building Blocks Ch5: Yamba Project Overview Ch6: Android User Interface Ch7: Preferences, Project

Leia mais

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler Desenvolvimento para Android Prá3ca 3 Prof. Markus Endler Exercício 3.1 Solicitando permissão para abrir uma página Web ü Criaremos uma Ac.vity com um EditText (para entrada de uma URL), um Bu?on e uma

Leia mais

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP Cleber de F. Ferreira¹, Roberto Dias Mota¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil cleberferreirasi@hotmail.com, motaroberto@hotmail.com Resumo.

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Introdução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Introdução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ Introdução ao Android Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ O que é o Android? Sistema operacional móvel, baseado numa versão modificada do Linux. Código aberto: qualquer pessoa pode

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

Programação para Dispositivos Móveis

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

Leia mais

Curso: Especializado Desenvolvimento de Aplicações para Android

Curso: Especializado Desenvolvimento de Aplicações para Android Curso: Especializado Desenvolvimento de Aplicações para Android Duração: 66h Área formativa: Programação Web & Mobile Sobre o curso Desde o lançamento dos smartphones no mercado, é crescente a procura

Leia mais

EA998/MC933 Guido Araujo e Sandro Rigo

EA998/MC933 Guido Araujo e Sandro Rigo EA998/MC933 Guido Araujo e Sandro Rigo 1 Introdução Livros adotados (e-books) Learning Android, Marco Gargenta, O Reilly Media (livro texto) Professional Android Application, Reto Meier, Wrox Abordagem

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

Programação para Dispositivos Móveis

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

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Ciclo de Vida de uma Aplicação Android Professor: Danilo Giacobo OBJETIVOS DA AULA Entender o ciclo de vida de uma aplicação Android. Conhecer algumas dicas para tirar

Leia mais

FRWTC-400 DESENVOLVIMENTO MÓVEL PARA ANDROID MÓDULO 1

FRWTC-400 DESENVOLVIMENTO MÓVEL PARA ANDROID MÓDULO 1 FRWTC-400 DESENVOLVIMENTO MÓVEL PARA ANDROID MÓDULO 1 SOBRE A FRAMEWORK A Framework (www.frwtc.com) atua diretamente com profissionais do segmento de tecnologia em busca de capacitação, atualização e certificação,

Leia mais

Seminário de S.O - Google Android

Seminário de S.O - Google Android Seminário de S.O - Google Android Diogo de Campos João Paulo Pizani Flor Maurício Oliveira Haensch Pedro Covolan Bachiega 19 de novembro de 2008 1 Introdução O presente trabalho foi apresentado como seminário

Leia mais

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

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PROFª. M.Sc. JULIANA H Q BENACCHIO Objetivos Desenvolver software baseados na plataforma de dispositivos móveis com ênfase na Android SDK, abrangendo desde princípios

Leia mais

INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS COM LIBGDX. Vinícius Barreto de Sousa Neto

INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS COM LIBGDX. Vinícius Barreto de Sousa Neto INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS COM LIBGDX Vinícius Barreto de Sousa Neto Libgdx é um framework multi plataforma de visualização e desenvolvimento de jogos. Atualmente ele suporta Windows, Linux,

Leia mais

Introdução ao Android

Introdução ao Android Introdução ao Android Um guia introdutório sobre aplicações Android Daniel Schmitz Esse livro está à venda em http://leanpub.com/livro-dominando-android Essa versão foi publicada em 2014-07-23 This is

Leia mais

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa Minicurso introdutório de desenvolvimento para dispositivos Android Cristiano Costa Desenvolvimento da interface estática Sobre mim Graduando em Engenharia Eletrônica - UNIFEI Trabalhou em desenvolvimento

Leia mais

Definições de Projeto

Definições de Projeto App Alunos Definições de Projeto Implementação de uma app para Manipulação de Dados de Alunos Em linhas gerais, a app consiste em: Manter dados de alunos; Entrar em contato com alunos; Trocar dados com

Leia mais

COMPUTAÇÃO MÓVEL. Prof. M.Sc Sílvio Bacalá Jr www.facom.ufu.br/~bacala/android

COMPUTAÇÃO MÓVEL. Prof. M.Sc Sílvio Bacalá Jr www.facom.ufu.br/~bacala/android COMPUTAÇÃO MÓVEL Prof. M.Sc Sílvio Bacalá Jr www.facom.ufu.br/~bacala/android O que é computação Móvel Acesso à informação a qualquer lugar, a qualquer momento. O que é computação Móvel Tecnicamente: Processamento

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução

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

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

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Depurando aplicações Professor: Danilo Giacobo OBJETIVOS DA AULA Aprender dicas e técnicas para encontrar erros em aplicações Android. Conhecer os recursos que auxiliam

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

Android Core. Felipe Silveira felipesilveira.com.br. Aula 6

Android Core. Felipe Silveira felipesilveira.com.br. Aula 6 Android Core Felipe Silveira felipesilveira.com.br Aula 6 Aplicações I Desenvolvimento de Aplicações Android SDK SDK https://developer.android.com/sdk Android SDK Android SDK: Eclipse + ADT plugin + Android

Leia mais

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com) ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura

Leia mais

Introdução ao Android

Introdução ao Android Introdução ao Android André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida Parte 1 Conhecendo o Sistema e Primeiro Programa Roteiro Pré-requisitos Conceitos Básicos Configurando o Ambiente

Leia mais

Desenvolvimento Android. http://www.larback.com.br

Desenvolvimento Android. http://www.larback.com.br Desenvolvimento Android http://www.larback.com.br Introdução ao Android O Android é a resposta da Google ao mercado crescente de dispositivos móveis. É uma nova plataforma de desenvolvimento baseado no

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

3ª Edição Ricardo R. Lecheta

3ª Edição Ricardo R. Lecheta 3ª Edição Ricardo R. Lecheta Novatec Copyright 2009, 2010, 2013 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo

Leia mais

Introdução ao Desenvolvimento para Sistema Operacional Android

Introdução ao Desenvolvimento para Sistema Operacional Android Dr. prof.sylvio@fatecriopreto.edu.br Conteúdo: 1) Introdução ao Android e Mercado de Dispositivos Móveis; 2) Plataforma: 2.1) Arquitetura; 2.2) Framework; 2.3) Bibliotecas; 2.4) Android Runtime; 2.5) Linux

Leia mais

AULA 2. Minicurso PET-EE UFRN

AULA 2. Minicurso PET-EE UFRN AULA 2 Minicurso PET-EE UFRN Agora iremos mostrar o passo-a-passo de como criar um projeto no Android Studio. 1. No Android Studio, crie um New Project. 2. Em Configure your new project, você deve preencher

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 05 Programando formularios, activities e intents. Dalton Martins dmartins@gmail.com São Paulo, Março, 2012

Leia mais

Sistemas Embarcados Android

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

Leia mais

MANUAL DE INSTALAÇÃO CONFIGURAÇÃO IDE ECLIPSE

MANUAL DE INSTALAÇÃO CONFIGURAÇÃO IDE ECLIPSE MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO IDE ECLIPSE T1011 GUILHERME RODRIGUES Ano 2015 MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO DA IDE ECLIPSE. Neste documento aborda como instalar e configurar a IDE eclipse para

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Introdução à Programação Android

Introdução à Programação Android Introdução à Programação Android Guilherme Antonio Borges guilhermeborges.pf@gmail.com Apresentação Graduado em 2012 no Curso de Tecnologia em Sistemas para Internet no IFSUL campus Passo Fundo. Atualmente,

Leia mais

Programação para Android. Aula 06: Activity, menus e action bar

Programação para Android. Aula 06: Activity, menus e action bar Programação para Android Aula 06: Activity, menus e action bar Activity A classe Activity é quem gerencia a interface com o usuário. Ela quem recebe as requisições, as trata e processa. Na programação

Leia mais

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

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

Leia mais

AFRE. a. ( ) Instalando um programa gerenciador de carregamento, como o LILO ou o GRUB. a. ( ) Data Werehouse ; Internet ; Linux

AFRE. a. ( ) Instalando um programa gerenciador de carregamento, como o LILO ou o GRUB. a. ( ) Data Werehouse ; Internet ; Linux 1. De que forma é possível alterar a ordem dos dispositivos nos quais o computador procura, ao ser ligado, pelo sistema operacional para ser carregado? a. ( ) Instalando um programa gerenciador de carregamento,

Leia mais

4 Arquitetura do middleware

4 Arquitetura do middleware 4 Arquitetura do middleware Ao utilizar um modelo de componentes orientado a serviços, o middleware Kaluana divide o processo de desenvolvimento de aplicações em duas etapas: a primeira é o desenvolvimento

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

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Componentes Visuais Gerenciadores de Layouts Professor: Danilo Giacobo OBJETIVOS DA AULA Apresentar os conceitos básicos da programação de interfaces visuais para Android

Leia mais

TITULO. RBTour Sistema de Informação Turística. AUTOR: Francelene de Castro Duarte. ORIENTADOR: Mestre João do Monte Gomes Duarte

TITULO. RBTour Sistema de Informação Turística. AUTOR: Francelene de Castro Duarte. ORIENTADOR: Mestre João do Monte Gomes Duarte Licenciatura em Engenharia Informática e de Computadores Projecto Fim de Curso TITULO RBTour Sistema de Informação Turística AUTOR: Francelene de Castro Duarte ORIENTADOR: Mestre João do Monte Gomes Duarte

Leia mais

Mobile Command. Diego Armando Gusava. Orientador: Mauro Marcelo Mattos

Mobile Command. Diego Armando Gusava. Orientador: Mauro Marcelo Mattos Mobile Command Diego Armando Gusava Orientador: Mauro Marcelo Mattos Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento Implementação Conclusão Extensões Introdução O que me motivou? Solução

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

Comunicado Técnico 19

Comunicado Técnico 19 Comunicado Técnico 19 ISSN 2177-854X Novembro. 2012 Uberaba - MG Desenvolvimento para dispositivos móveis Instruções Técnicas Responsável: Gill Mayeron Duarte e-mail: gill@valim.com.br Especialista em

Leia mais

Programação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho

Programação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho Programação para Android Aula 10: Acesso a câmera, sms e recursos do aparelho Objetivos Nesta aula iremos aprender como invocar os recursos do aparelho: Fazer chamadas telefônicas Enviar SMS Utilizar a

Leia mais

Programação para Android. Aula 08: Persistência de dados SQL

Programação para Android. Aula 08: Persistência de dados SQL Programação para Android Aula 08: Persistência de dados SQL Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados. Para guardar informações de forma persistente

Leia mais

Google Android para Tablets

Google Android para Tablets Google Android para Tablets Aprenda a desenvolver aplicações para o Android De smartphones a tablets Ricardo R. Lecheta Novatec Copyright 2012 Novatec Editora Ltda. Todos os direitos reservados e protegidos

Leia mais

UNIVERSIDADE FEDERAL DE MATO GROSSO COORDENAÇÃO DE ENSINO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO

UNIVERSIDADE FEDERAL DE MATO GROSSO COORDENAÇÃO DE ENSINO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO UNIVERSIDADE FEDERAL DE MATO GROSSO COORDENAÇÃO DE ENSINO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO RELATÓRIO DE ESTÁGIO SUPERVISIONADO APLICAÇÕES MOBILE COM LAYOUT ADAPTÁVEIS UTILIZANDO ANDROID FRAGMENTS

Leia mais

Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ

Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ Introdução ao Android SECAP 2014 Prof. Rone Ilídio - UFSJ O que é o Android? Sistema operacional móvel, baseado numa versão modificada do Linux. Código aberto: qualquer pessoa pode baixar e modificar Máquina

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 5 PROCESSOS 1. INTRODUÇÃO Em sistemas distribuídos é importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo é originário do campo de sistemas

Leia mais

5 Detalhes da Implementação

5 Detalhes da Implementação Detalhes da Implementação 101 5 Detalhes da Implementação Neste capítulo descreveremos detalhes da implementação do Explorator que foi desenvolvido usando o paradigma MVC 45 e o paradigma de CoC 46 (Convention

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

Leia mais

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler Desenvolvimento para Android Prá9ca 2 Prof. Markus Endler Criando o primeiro projeto Android Com o ambiente de desenvolvimento preparado, vá em File - > New - > Project... Na janela que abrir, selecione

Leia mais

EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE

EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE por Miguel Aguiar Barbosa Trabalho de curso II submetido como

Leia mais

6 - Gerência de Dispositivos

6 - Gerência de Dispositivos 1 6 - Gerência de Dispositivos 6.1 Introdução A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de

Leia mais

Plano de Trabalho Docente 2014. Ensino Técnico

Plano de Trabalho Docente 2014. Ensino Técnico Plano de Trabalho Docente 2014 Ensino Técnico Etec: ETEC PROF MASSUYUKI KAWANO Código: 136 Município: TUPÃ Eixo Tecnológico: INFORMAÇÃO E COMUNICAÇÃO Habilitação Profissional: Habilitação Profissional

Leia mais

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS Rodrigo das Neves Wagner Luiz Gustavo Galves Mählmann Resumo: O presente artigo trata de um projeto de desenvolvimento de uma aplicação para uma produtora de eventos,

Leia mais

Manual de referência do HP Web Jetadmin Database Connector Plug-in

Manual de referência do HP Web Jetadmin Database Connector Plug-in Manual de referência do HP Web Jetadmin Database Connector Plug-in Aviso sobre direitos autorais 2004 Copyright Hewlett-Packard Development Company, L.P. A reprodução, adaptação ou tradução sem permissão

Leia mais

Artigo: PLATAFORMAS PARA APLICATIVOS MÓVEIS

Artigo: PLATAFORMAS PARA APLICATIVOS MÓVEIS Feuduc Fundação Educacional de Duque de Caxias Graduação em Sistemas de Informação PROF. Alexandre Ticom Artigo: PLATAFORMAS PARA APLICATIVOS MÓVEIS Aluna: Juliana Rosa e Laíza Piedade Juliana.pegora@eletrobras.com.br

Leia mais

Android: um novo paradigma de desenvolvimento móvel

Android: um novo paradigma de desenvolvimento móvel 1 Android Android: um novo paradigma de desenvolvimento móvel Ramon Ribeiro Rabello ramon.rabello@gmail.com É graduado em Ciência da Computação pela Universidade da Amazônia (UNAMA). Trabalha com a tecnologia

Leia mais

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO Serviço Nacional de Aprendizagem Comercial E.E.P. Senac Pelotas Centro Histórico Programa Nacional de Acesso ao Ensino Técnico e Emprego Curso Técnico em Informática ( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO

Leia mais

Descrição geral do Android

Descrição geral do Android Descrição geral do Android (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Versões & API A versão 1.0 foi lançada em Fevereiro de 2009

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais