A plataforma Android: Uma Introdução



Documentos relacionados
O que é o Android? O que é o Android

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

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

MONOGRAFIA: PLATAFORMAS DE DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS

COMPUTAÇÃO MÓVEL. Prof. M.Sc Sílvio Bacalá Jr

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

Sistemas Embarcados Android

Sistemas Embarcados Android

Android. Marcelo

PLATAFORMA ANDROID. Ariel Soares Teles

Computação II Orientação a Objetos

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

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

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

Artigo: PLATAFORMAS PARA APLICATIVOS MÓVEIS

Desenvolvimento de um aplicativo básico usando o Google Android

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

Sistemas Operacionais Introdução

Descrição geral do Android

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

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

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

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

EA998/MC933 Guido Araujo e Sandro Rigo

Seminário de S.O - Google Android

API's e Aplicações para Android

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

PROJETO PEDAGÓGICO DE CURSOS

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

Programação para Dispositivos Móveis

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

APLICATIVO MOBILE CATÁLOGO DE PÁSSAROS - PLATAFORMA ANDROID/MYSQL/WEBSERVICE

Android Básico Hello World!

Relatorio do trabalho pratico 2

Desenvolvimento de um aplicativo básico usando o Google Android

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

Desenvolvimento de aplicações na plataforma Google Android

Introdução ao Android

Introdução ao Desenvolvimento para Sistema Operacional Android

Introdução ao Android SDK. Prof. Me. Hélio Esperidião

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

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

Manual TIM PROTECT BACKUP. Manual do Usuário TIM PROTECT BACKUP. Versão Copyright TIM

SISTEMAS OPERACIONAIS

Manual Backup Online. Manual do Usuário. Versão Copyright Backup Online

Programação para Dispositivos Móveis

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

Sistemas Operacionais

Manual do Usuário Nextel Cloud. Manual do Usuário. Versão Copyright Nextel

ArcSoft Total Media. HDCam 2.0

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

Programação para Dispositivos Móveis

ARQUITETURA DE SISTEMAS. Cleviton Monteiro

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

XXXVIII Reunião Anual da SBNeC

Modelos de Arquiteturas. Prof. Andrêza Leite

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

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

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

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

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

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

Manual Backup Online. Manual do Usuário. Backup Online. Versão Copyright GVT

Manual do Usuário Nextel Cloud. Manual do Usuário. Versão Copyright Nextel

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Capítulo 04: Persistência com SQLite

Desenvolvimento para Android Aula 1. Prof. Markus Endler

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Manual Vivo Sync. Manual do Usuário. Versão Copyright Vivo

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Android: um novo paradigma de desenvolvimento móvel

Noções de. Microsoft SQL Server. Microsoft SQL Server

Programação Palm OS. Roteiro da Apresentação. Motivação

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

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

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

Projeto Arquitetural do IEmbedded

Introdução a Arquitetura Android

Introdução a programação de dispositivos móveis. Prof. Me. Hélio Esperidião

SISTEMAS OPERACIONAIS 2007

Rotina de Discovery e Inventário

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Manual do Usuário Nextel Cloud. Manual do Usuário. Versão Copyright Nextel

18/04/2006 Micropagamento F2b Web Services Web rev 00

4 Plano de Recuperação

Google Android. Broadcast Receiver

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Desenvolvimento de Aplicativos com ASR para Android

Uma poderosa ferramenta de monitoramento. Madson Santos - madson@pop-pi.rnp.br Técnico de Operação e Manutenção do PoP-PI/RNP

Programação Web Prof. Wladimir

Integração de sistemas utilizando Web Services do tipo REST

Manual do Usuário Android Neocontrol

TeObs para Android. Engenharia Informática. Cristiana Sobrinho Nº20174 Cristiano Moura Nº Trabalho realizado sob a orientação de Rui Pedro Lopes

LINGUAGEM DE BANCO DE DADOS

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Transcriçã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, fabricantes de celulares) > 30 companhias Força do projeto se baseia no conceito de colaboração Set./08: Google anunciou o Andoid Market para comercialização de aplicações Set./08: É lançado G1 Primeiro dispositivo para plataforma Android 2

O que é Android? Pilha de softwares para dispositivos móveis: Um sistema operacional Um middleware Conjunto de aplicações Android SDK: Projetos Ferramentas de desenvolvimento Emulador Conjunto de bibliotecas Linguagem de programação: Java Máquina virtual: Dalvik (Kernel GNU/Linux) Android Definição 3 Características Application Framewok: Permite o reuso e a substituição de componentes Máquina virtual Dalvik: Otimizada para dispositivos móveis Um navegador integrado: Baseado no projeto WebKit (código aberto) Gráficos otimizados: Bibliotecas gráficas 2D Gráficos 3D baseado na especificação OpenGL 1.0 SQLite: Para armazenamento de dados estruturados Suporte para mídias: Aúdio, vídeo, formatos de imagens (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG e GIF) Android Características 4

Características Questões dependentes do hardware: Telefonia GPRS/GSM e EDGE Telefonia 3G WiFi Câmera GPS Bússola Acelerômetro Android Características 5 Arquitetura

Aplicações Cliente de email Programa SMS Calendário Mapas Navegador Contatos Entre outros. 7 Android Arquitetura Aplicações Framework View Content Providers Resource Manager Notification Manager Activity Manager 8 Android Arquitetura Framework

System C Library Media Libraries Surface Manager LibWebCore Bibliotecas Andróid inclui um conjunto de bibliotecas C/C++ usadas por diversos componentes do sistema: SGL 3D Libraries FreeType SQLite Android Arquitetura Bibliotecas 9 Bibliotecas System C library uma implementação derivada da biblioteca C padrão sistema (libc) do BSD adaptada para dispositivos rodando Linux. Media Libraries baseado no PacketVideo s OpenCORE; as bibliotecas suportam os mais populares formatos de audio e video, bem como imagens estáticas. Surface Manager acesso ao subsistema de exibição bem como as múltiplas camadas de aplicações 2D e 3D; LibWebCore um web browser engine utilizado no Android Browser SGL o engine de gráficos 2D 3D libraries uma implementação baseada no OpenGL 1.0; as bibliotecas utilizam aceleração 3D via hardware (quando disponível) ou o software de renderização 3D altamente t otimizado i incluído no Android. FreeType renderização de fontes bitmap e vector SQLite um poderoso e leve engine de banco de dados relacional disponível para todas as aplicações

Android Runtime Aplicação Android: É um processo Linux Possui sua própria instância da máquina virtual Dalvik Executa arquivos.dex (ferramenta dx) Android Arquitetura Android Runtime 11 Linux Kernel Versão do kernel: 2.6 O kernel atua como uma camada de abstração entre o hardware e o resto da pilha de software Serviços: Segurança Gerenciamento de memória Gerenciamento de processos Pilha de protocolos de rede Modelo de drives 12 Android Arquitetura Linux Kernel

Estrutura de uma aplicação Android Existem 4(5) tipos básicos de elementos: Activities Intents e IntentFilters (e BroadcastReceivers) Services Content Providers Nem toda aplicação precisa ter todos os tipos, mas terá alguma combinação destes. Os componentes que compõem a aplicação são declarados no arquivo AndroidManifest.xml. Android Manifest AndroidManifest.xml é necessário p/ cada aplicação. Descreve os elementos da aplicação: (Activities, Content Providers, Services, and Intent Receivers) globalmente visíveis, as classes de implementação de cada componente, e qual tipo de dado este pode tratar, quando pode ser ativado, etc. Compara-se cada Intent gerado com os Intentfilters registrados para identificar qual é a atividade mais apropriada p para tratar este intent Pode-se também descrever as permissões e parâmetros de instrumentação

Tipos de Elementos Activity = uma tela de sua aplicação; cada uma é uma especialização da classe base Activity. Sua classe será composta de views que respondem a eventos; uma atividade pode retornar um valor para outra atividade; Intent = classe usada para passar o controle de uma atividade para outra; um intent consiste de uma ação (evento/requisição) e uma URI indicando um dado sobre o qual a ação deve ser executada. Valores comuns para ações: MAIN (entrada da aplicação), VIEW, PICK, EDIT, etc. Exemplo: para visualizar informação de contato criase um intent com açãoview e a URI indicando os dados associados a uma pessoa. Tipos de Elementos IntentFilter = desrição de quais intents uma Activity (ou BroadcastReceiver) é capaz de tratar t e são publicados no arquivo AndroidManifest.xml Exemplo: Uma Activity capaz de mostrar dados de uma pessoa iria publicar um IntentFilter com a capacidade VIEW para determinados dados; Obs: Activities com IntentFilters equivalentes podem ser trocadas a qualquer instante

Tipos de Elementos BroadcastReceiver deve ser usado quando a aplicação deve reagir a eventos externos à aplicação (e.g. ligação telefônica, timer, rede wifi disponível, etc.) BroadcastReceivers são definidos no AndroidManifest.xml, ou são registrados usando método Context.registerReceiver(). Obs: A aplicação não precisa estar executando; o sistema vai inciá-la quando o BroadcastReceiver é disparadod Aplicações também podem enviar seus IntentBroadcasts para outras aplicações Tipos de Elementos Serviço = uma thread (processo) executando em background, independentemente de uma Interface do usuário (p.ex. tocar músicas de uma playlist) Activities (para escolha do album) podem se conectar a um serviço usando Context.bindService() para inicia-lo (se já não executa).uma vez conectado, pode-se interagir com ele através da interface exportada pelo mesmo (p.ex. p/ pause ) ContentProvider = uma classe usada para que aplicações compartilhem dados entre sí ; implementa um conjunto de métodos padrão para armazenar e recuperar dados de um determinado tipo; Obs: aplicações também podem interagir através de um banco de dados SQL ou de arquivos

Aplicação Android Obs: Cada Activity representa uma tela GUI Commands & Display Intent Intent Fiter Act1 Act2 Act3 Act4 Act1 Act2 Act3 CntxtBindService BcastReceiver Manifest Content Provider Manifest Content Provider Service A IntentBcast Android Application Framework/ Dalvik/ C libraries Linux put/ get Memory Instalação do SDK Após realizar o download do SDK, descompactar o arquivo.zip Por exemplo, android_sdk_windows_m3-rc22a.zip Instalando o plugin para Eclipse (ADT) https://dl-ssl.google.com/android/eclipse/ Data Funneling Fases 20

Para saber mais... Leia a documentação Developer Toolbox http://code.google.com/android/toolbox/index.html Developing Applications: http://code.google.com/android/devel/index.html Consulte os grupos de discussão: http://code.google.com/android/groups.html com/android/groups html http://forum.portalandroid.org/ 21