SlideShare uma empresa Scribd logo
1 de 33
Agenda
Parte 3
•   Introdução
•   Porque o Google criou o Android?
•   Plataforma aberta: vantagens
•   Arquitetura
•   Características
•   Vantagens e desvantagens
•   Ferramentas e modelo de desenvolvimento
•   Google Phone HTC G1
•   Android Developer´s Challenge
•   Links Interessantes
•   Conclusões
Plataforma Android
Introdução
• Plataforma de software para dispositivos móveis criada pela
  Google em 2007
   – Pilha de SW composta por camadas de abstração
• Gerenciada pela Open Handset Alliance
   – Operadoras, empresas de SW, fabricantes de dispositivos e
     semicondutores
• Baseada na plataforma Linux
   – Versão mais simplificada, sem glibc, native windowing system
• Desenvolvimento em Java
• SDK para desenvolvimento
   – Windows, Linux e Mac OSX
   – Integração com IDEs populares (Eclipse e Netbeans)
   – Documentação e Emulador
Plataforma Android
Introdução
• Desenvolvimento em JavaSE 5.0, utilizando bibliotecas Java
  implementadas pelo Google
   – Máquina Virtual Dalvik (Não é uma máquina virtual Java)
   – Criada especificamente para dispositivos com CPUs mais lentos, pouca
     memória
• Inclui
   – Sistema operacional (Linux 2.6), middleware e aplicações importantes
• Independente de hardware
   – Smartphone, netbook, PDA
Plataforma Android
Introdução
• Acesso a Internet de forma ubíqua
  – Simplicidade em conexões a Web
     • Serviços Google
• Igualdade para todas as aplicações
  – Acesso igual a recursos
• Combinação de informações da Web e
  do dispositivo
  – Ex: contatos e localização geográfica
Plataforma Android
Histórico
• Datas importantes
  – Novembro de 2007: Primeiro SDK liberado ao público
  – Abril de 2008: Android Developer Challenge
  – Agosto de 2008: mercado Android anunciado, aplicações de graça (por
    enquanto)
  – Setembro de 2008: Primeiro aparelho no mercado com o Android, o
    T-Mobile G1
  – Setembro de 2008: Versão 1.0 do Android SDK é lançado
  – Outubro de 2008: Código fonte do Android é aberto a comunidade

          Memória: RAM (192MB), ROM (256MB)
          Processador: Qualcomm 528 Mhz
          Peso: 158 Gramas
          Conectividade: WiFi 802.11b/g, 3G (HSDPA),
          Quadband GSM
          Tela: HVGA (320x480)
          Teclado: Qwerty
          Recursos: Câmera 2.0 MP, microSD slot,
          GPS, bússola e acelerômetro
Plataforma Android
Porque o Google criou o Android?
– Plataforma JavaME
   • Não é open-source, apenas no JavaSE é open-source
   • Está um pouco ultrapassada (CLDC + MIDP)
   • Necessidade de uma nova API de GUI
– IPhone não possui suporte oficial a aplicações em Java
– Grande comunidade de desenvolvedores Java
   • Utilizou a comunidade no provimento de sugestões na arquitetura,
     correções de bugs
   • O jeito “Google” de ser e fazer as coisas
Plataforma Android
Porque o Google criou o Android?
– Busca por uma plataforma aberta e rica de recursos
  •   Licença Apache 2.0 e GPL v2
  •   Navegação pela Web
  •   Serviços Google: Maps, GPS, StreetView, gráficos 2D, Open GL
  •   Media Framework, SQLite
– Criação de um novo modelo de desenvolvimento de
  aplicações móveis
  • Arquitetura baseada em componentes
Plataforma Android
Plataforma Aberta: Vantagens
– Consumidores
   • Dispositivos mais baratos e mais inovadores (recursos, aplicações)
– Operadoras
   • Baixo custo de dispositivos, inovação mais rápida, flexibilidade de
     customização
– Fabricantes de dispositivos
   • Custo de SW baixo, TTM mais rápido, flexibilidade para prover tipos de
     produtos diferentes
Plataforma Android
Plataforma Aberta: Vantagens
– Fabricantes de semicondutores
  • Acesso a recursos mais avançados do dispositivo, acesso por
    desenvolvedores
– Empresas de software
  • Integração de aplicações mais simples, demanda por mais aplicações,
    investimentos em SW
– Desenvolvedores
  • Acesso a API, ferramentas open-source e populares, melhor
    desenvolvimento de aplicações, custo menor de distribuição e
    comercialização de aplicações
Plataforma Android
Arquitetura
Plataforma Android
Arquitetura: Dalvik VM
– Máquina virtual Java não padronizada
  – Dalvik VM != JavaSE VM
  – Não é baseada no JavaSE e/ou JavaME, não possui as APIs de GUI
    (Swing, AWT)
  – Otimizada para dispositivos embarcados
     – Usabilidade, energia, processamento, gerência de processos


– APIs Java presentes
  • Apache Commons, HttpClient e Junit
  • Telefonia, Gerenciamento de energia e SMS
Plataforma Android
Arquitetura: Dalvik VM
– Compilação para Dalvik BC
   – Os programa são desenvolvidos em Java usando IDEs orientadas a Java.
     Porém ao invés de compilar para bytecode Java (.class), a compilação vai
     para dalvik bytecode (.dex)


– Cada aplicação é executada em uma única e exclusiva
  instância da VM
   • Multitarefas


– Utiliza o kernel para as funcionalidades de baixo nível
   • Gerenciamento de memória e threading
Plataforma Android
Características
• Filosofia
   – quot;Successful applications will offer an outstanding end-user experiencequot;
       • Fast
       • Responsive
       • Seamless
• Interface gráfica
   – Modelo de componentes rico baseado em XML
   – Novos componentes: MapView, WebView ou customizado
• Aplicações
   – Cliente de Email, mensagens por SMS, Calendário, mapas
   – Navegador, Contatos
   – Todas as aplicações foram desenvolvidas na linguagem Java
Plataforma Android
Conjunto de Widgets
Plataforma Android
Vantagens
• Utiliza tecnologias como o Java e Eclipse
   – Grande quantidade de desenvolvedores adeptos


• Modelo de UI rico utilizando uma programação declarativa
  por XML
   – Mais simples de construir interfaces


• SDK com vários recursos

• Oferece mais recursos que o JavaME

• Possui dispositivos reais no mercado
Plataforma Android
Vantagens
• Plataforma aberta
   – Código aberto e independente de hardware
• Permite a construção de aplicações complexas
• Fácil instalação de aplicações em dispositivos
   – Menos restritivo que outras plataformas
• Navegação Web – WebKit
   – Mesmo do IPhone, Safari, Chrome
• Serviços de localização
   – Gmaps, Street view, GPS, alertas de proximidada
Plataforma Android
Desvantagens
• SDK sofre alterações significativas entre versões antes do
  1.0
• Modelo de programação complexo comparada a outras
  existentes (AWT, Swing, MIDP)
   – Curva de aprendizado para desenvolvedores JavaME é alta
• Dispositivos reais só recentemente
   – Somente dois no mercado
• Plataforma nova, com pouco tempo de uso
   – Bugs, falhas de segurança
• Concorrentes fortes no mercado
   – IPhone, Windows Mobile e outros
Plataforma Android
Ferramentas de Desenvolvimento
• JavaSE Systems Development Kit
• Android SDK
   • Emulador
   • Ferramentas de linha de comando (ex: emulador, android debug bridge,
     etc.)
   • Documentação
   • Aplicações de exemplo
• Eclipse
   • ADT: Android Development Tools Plugin
   • DDMS: Dalvik Debug Monitor Server
• Interface gráfica
   • Baseada em XML
   • www.droiddraw.org
Plataforma Android
Modelo de Desenvolvimento
• Modelo de desenvolvimento voltado a componentes
• Blocos básicos de construção
  –   Atividades e intenções
  –   Receptores de broadcast
  –   Serviços
  –   Provedores de conteúdo
• Aplicações e serviços utilizam
  recursos de camadas inferiores
  –   Aplicações
  –   App Framework
  –   Bibliotecas nativas
  –   Linux Kernel
Plataforma Android
Componentes de uma Aplicação
• Visões (Views)
   – Interfaces de usuário (ex: listas, grids, botões)


• Provedores de conteúdo (Content Providers)
   – Acesso a dados de outras aplicações (ex: contatos)


• Gerenciador de recursos (Resource Mgr)
   – Acesso a recursos (ex: strings,    gráficos e leioutes internacionalizador


• Gerenciador de notificações (Notification Mgr)
   – Mostragem de alertas na barra de estado
Plataforma Android
Componentes de uma Aplicação
• Gerenciador de atividades (Activity Mgr)
   – Gerencia o ciclo de vida de aplicações


• Gerenciador de serviços (Service Mgr)
   – Gerencia os serviços (sem UI)


• Receptores de broadcast
   – Receptor e reagente a anúncios e eventos


• Intenções (Intents)
   – Mensagens assíncronas de ativação, responsável por acionar as atividades,
     serviços e receptores de broadcast
Plataforma Android
Ciclo de Vida de Atividades
Plataforma Android
Ciclo de Vida de Serviços
Plataforma Android
Hello, Android!
package com.android.hello;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      TextView tv = new TextView(this);
      tv.setText(quot;Hello, Androidquot;); setContentView(tv);
    }
}
Plataforma Android
Google Phone: HTC G1
• Android OS (baseado no Linux)
• Tela 3.2 polegadas sensível ao toque, resolução HVGA
  – 65k cores, 320x480 (resolução do IPhone)
• Teclado qwerty
• Processador Qualcomm MSM 7201A 528 MHz, 192 MB
  RAM
• Quadband GSM/GPRS/EDGE/HSDPA/HSUPA
• Câmera de 3.15 MP
• WiFi 802.11 b/g
• GPS
• Trackball
• Sensor de acelerômetro e compasso digital
Plataforma Android
Google Phone: HTC G1
Plataforma Android
Google Phone: HTC G1
Plataforma Android
Google Phone: HTC G1
• Vantagens                   • Desvantagens
  – É um celular do Google!     – É um celular do Google!
  – Navegação em trackball      – Sem suporte a video pela
                                  câmera (ligações e
  – Bom tempo de bateria (1
                                  gravação)
    dia sobre uso pesado)
                                – Sem suporte a Flash no
  – Boa responsividade na
                                  browser
    execução de aplicações
                                – Bluetooth restrito
                                – Sem radio FM
                                – Sem auto-rotação da tela
Plataforma Android
Android Developer's Challenge
• Desafio para que desenvolvedores utilizassem a plataforma
  Android para o desenvolvimento de aplicações móveis
• Mais de 1700 submissões
• Os 50 melhores foram escolhidos de todas as submissões
  – Duas fases de submissão
• Os 50 melhores receberam US$ 25,000.00
• Os melhores ganharam
  – Dez prêmios de US$ 275,000.00
  – Dez prêmios de US$ 100,000.00
Plataforma Android
Android Developer's Challenge
• Áreas sugeridas
  –   Redes sociais
  –   Consumo, gerenciamento, edição ou compartilhamento de de mídia, etc.
  –   Fotos
  –   Produtividade e colaboração, tais como Email, IM, calendário, etc.
  –   Jogos
  –   Notícias e informações
  –   Novas interfaces de usuário
  –   Funcionalidade mash-up
  –   Location-based services
  –   Benefícios humanitários
  –   Aplicações em serviço do desenvolvimento econômico global
– Lista de candidatos
Plataforma Android
Links Interessantes
• Android Market
  – http://www.android.com/market/
  – Loja de aplicações do Google
  – Permite a oferta de aplicações por desenvolvedores
     • US$ 25,00 por membro por ano
  – 70% do lucro vai para os desenvolvedores, restante para operadoras,
    custos, etc.
  – Processo similar ao YouTube
     • Feedback ao desenvolvedor
     • Publicação de aplicações: register, upload e publish, acompanhamento das
       aplicações
• Android Developers
  – http://developer.android.com/
• Google APIs
  – GeoCoder, Maps API
  – http://code.google.com/android/add-ons/google-apis/index.html
Plataforma Android
Conclusões
• Mercado está amadurecendo rapidamente
  – Oportunidades e desafios


• Alta demanda
  – Faltam profissionais especialistas no desenvolvimento de
    aplicações móveis
     – Caso comum: desenvolvedor para desktop ou servidor e prepará-lo para
       dispositivos móveis
  – Transações móveis, jogos, aplicações corporativas
  – Consumo de conteúdo (texto, mídia)
Plataforma Android
Conclusões
• Android como plataforma de desenvolvimento de
  aplicações ubíquas
  • Adotado pelo meio acadêmico


• Convergência de serviços e tecnologias para o
  dispositivo móvel
  – Texto, mídia, dados, serviços baseados em IP


• Plataformas de desenvolvimento em Java
  – Portabilidade, ubiquidade e número de desenvolvedores

Mais conteúdo relacionado

Mais procurados

PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android Fundação Vanzolini
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao AndroidBruno Lui
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4Jose Berardo
 
Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013guisester
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Androidguisester
 
Aulas Google Android
Aulas Google AndroidAulas Google Android
Aulas Google AndroidIury Teixeira
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CERonildo Oliveira
 
Iniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidIniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidSalvador Torres
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma AndroidNatanael Fonseca
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2Jose Berardo
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidJosé Alexandre Macedo
 
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidPalestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidCarlos Eugenio Torres
 
Aula01 mobilidade android
Aula01 mobilidade androidAula01 mobilidade android
Aula01 mobilidade androidRoberson Alves
 
Seminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidSeminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidWilliam Higino
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - BásicoHugoDalevedove
 

Mais procurados (20)

PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android
 
Google android pdf
Google android pdfGoogle android pdf
Google android pdf
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Android
 
Aulas Google Android
Aulas Google AndroidAulas Google Android
Aulas Google Android
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CE
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Iniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidIniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google Android
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidPalestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
 
Migração pra android
Migração pra androidMigração pra android
Migração pra android
 
Aula01 mobilidade android
Aula01 mobilidade androidAula01 mobilidade android
Aula01 mobilidade android
 
Seminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidSeminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para Android
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 

Destaque

Struts Cap10 DepuraçãO E Log
Struts Cap10 DepuraçãO E LogStruts Cap10 DepuraçãO E Log
Struts Cap10 DepuraçãO E LogWaldir R. Pires Jr
 
Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaWaldir R. Pires Jr
 
Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaWaldir R. Pires Jr
 
Desenvolvimento de Aplicações Móveis em Java - Parte 1
Desenvolvimento de Aplicações Móveis em Java - Parte 1Desenvolvimento de Aplicações Móveis em Java - Parte 1
Desenvolvimento de Aplicações Móveis em Java - Parte 1Waldir R. Pires Jr
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVACristiano Almeida
 

Destaque (7)

Struts Cap10 DepuraçãO E Log
Struts Cap10 DepuraçãO E LogStruts Cap10 DepuraçãO E Log
Struts Cap10 DepuraçãO E Log
 
Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em Java
 
Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em Java
 
Android Developers Challenge
Android Developers ChallengeAndroid Developers Challenge
Android Developers Challenge
 
Desenvolvimento de Aplicações Móveis em Java - Parte 1
Desenvolvimento de Aplicações Móveis em Java - Parte 1Desenvolvimento de Aplicações Móveis em Java - Parte 1
Desenvolvimento de Aplicações Móveis em Java - Parte 1
 
Computação Ubíqua
Computação UbíquaComputação Ubíqua
Computação Ubíqua
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 

Semelhante a Desenvolvimento de Aplicações Móveis em Java

Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android NooclixIury Teixeira
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao androidMessias Batista
 
la 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gapla 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gapRoberson Alves
 
Android: Uma nova maneira de pensar
Android: Uma nova maneira de pensarAndroid: Uma nova maneira de pensar
Android: Uma nova maneira de pensarcezarsignori
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-PlatformAdriel Café
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesWilliam S. Rodriguez
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)Walanem Figueiredo
 
Minicurso wxWidgets
Minicurso wxWidgetsMinicurso wxWidgets
Minicurso wxWidgetsRenzo Petri
 
As vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NETAs vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NETJoel Rodrigues
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)Ricardo Rufino
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Androidjgbirk
 
Apresentação da Spin no SIMPASE 2013
Apresentação da Spin no SIMPASE 2013Apresentação da Spin no SIMPASE 2013
Apresentação da Spin no SIMPASE 2013SpinEngenharia
 
Microsoft .Net
Microsoft .NetMicrosoft .Net
Microsoft .Netjaumnc
 
Universal Windows Platform Bridges
Universal Windows Platform BridgesUniversal Windows Platform Bridges
Universal Windows Platform BridgesCaio Chaves Garcez
 

Semelhante a Desenvolvimento de Aplicações Móveis em Java (20)

Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android Nooclix
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Android
AndroidAndroid
Android
 
la 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gapla 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gap
 
Android: Uma nova maneira de pensar
Android: Uma nova maneira de pensarAndroid: Uma nova maneira de pensar
Android: Uma nova maneira de pensar
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-Platform
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)
 
Minicurso wxWidgets
Minicurso wxWidgetsMinicurso wxWidgets
Minicurso wxWidgets
 
As vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NETAs vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NET
 
Conhecendo android
Conhecendo androidConhecendo android
Conhecendo android
 
Android
AndroidAndroid
Android
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Android
 
Apresentação da Spin no SIMPASE 2013
Apresentação da Spin no SIMPASE 2013Apresentação da Spin no SIMPASE 2013
Apresentação da Spin no SIMPASE 2013
 
Microsoft .Net
Microsoft .NetMicrosoft .Net
Microsoft .Net
 
Universal Windows Platform Bridges
Universal Windows Platform BridgesUniversal Windows Platform Bridges
Universal Windows Platform Bridges
 
Phonegap
PhonegapPhonegap
Phonegap
 
Básico de desenvolvimento com Android
Básico de desenvolvimento com AndroidBásico de desenvolvimento com Android
Básico de desenvolvimento com Android
 

Mais de Waldir R. Pires Jr

Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Waldir R. Pires Jr
 
Proposta de projeto de pesquisa UFOP
Proposta de projeto de pesquisa UFOPProposta de projeto de pesquisa UFOP
Proposta de projeto de pesquisa UFOPWaldir R. Pires Jr
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Waldir R. Pires Jr
 
Droid Emergency Context Service - Msc.
Droid Emergency Context Service - Msc.Droid Emergency Context Service - Msc.
Droid Emergency Context Service - Msc.Waldir R. Pires Jr
 
Droid Guide Prototype - Dresden - Germany
Droid Guide Prototype - Dresden - GermanyDroid Guide Prototype - Dresden - Germany
Droid Guide Prototype - Dresden - GermanyWaldir R. Pires Jr
 
IMS IP multimedia subsystem presentation
IMS IP multimedia subsystem presentationIMS IP multimedia subsystem presentation
IMS IP multimedia subsystem presentationWaldir R. Pires Jr
 
Desenvolvimento de Aplicações Móveis com JavaME
Desenvolvimento de Aplicações Móveis com JavaMEDesenvolvimento de Aplicações Móveis com JavaME
Desenvolvimento de Aplicações Móveis com JavaMEWaldir R. Pires Jr
 

Mais de Waldir R. Pires Jr (9)

Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014
 
Proposta de projeto de pesquisa UFOP
Proposta de projeto de pesquisa UFOPProposta de projeto de pesquisa UFOP
Proposta de projeto de pesquisa UFOP
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014
 
Droid Emergency Context Service - Msc.
Droid Emergency Context Service - Msc.Droid Emergency Context Service - Msc.
Droid Emergency Context Service - Msc.
 
Droid Guide Prototype - Dresden - Germany
Droid Guide Prototype - Dresden - GermanyDroid Guide Prototype - Dresden - Germany
Droid Guide Prototype - Dresden - Germany
 
Java v1.1
Java v1.1Java v1.1
Java v1.1
 
IMS IP multimedia subsystem presentation
IMS IP multimedia subsystem presentationIMS IP multimedia subsystem presentation
IMS IP multimedia subsystem presentation
 
AED Lab 01 Sab
AED Lab 01 SabAED Lab 01 Sab
AED Lab 01 Sab
 
Desenvolvimento de Aplicações Móveis com JavaME
Desenvolvimento de Aplicações Móveis com JavaMEDesenvolvimento de Aplicações Móveis com JavaME
Desenvolvimento de Aplicações Móveis com JavaME
 

Desenvolvimento de Aplicações Móveis em Java

  • 1. Agenda Parte 3 • Introdução • Porque o Google criou o Android? • Plataforma aberta: vantagens • Arquitetura • Características • Vantagens e desvantagens • Ferramentas e modelo de desenvolvimento • Google Phone HTC G1 • Android Developer´s Challenge • Links Interessantes • Conclusões
  • 2. Plataforma Android Introdução • Plataforma de software para dispositivos móveis criada pela Google em 2007 – Pilha de SW composta por camadas de abstração • Gerenciada pela Open Handset Alliance – Operadoras, empresas de SW, fabricantes de dispositivos e semicondutores • Baseada na plataforma Linux – Versão mais simplificada, sem glibc, native windowing system • Desenvolvimento em Java • SDK para desenvolvimento – Windows, Linux e Mac OSX – Integração com IDEs populares (Eclipse e Netbeans) – Documentação e Emulador
  • 3. Plataforma Android Introdução • Desenvolvimento em JavaSE 5.0, utilizando bibliotecas Java implementadas pelo Google – Máquina Virtual Dalvik (Não é uma máquina virtual Java) – Criada especificamente para dispositivos com CPUs mais lentos, pouca memória • Inclui – Sistema operacional (Linux 2.6), middleware e aplicações importantes • Independente de hardware – Smartphone, netbook, PDA
  • 4. Plataforma Android Introdução • Acesso a Internet de forma ubíqua – Simplicidade em conexões a Web • Serviços Google • Igualdade para todas as aplicações – Acesso igual a recursos • Combinação de informações da Web e do dispositivo – Ex: contatos e localização geográfica
  • 5. Plataforma Android Histórico • Datas importantes – Novembro de 2007: Primeiro SDK liberado ao público – Abril de 2008: Android Developer Challenge – Agosto de 2008: mercado Android anunciado, aplicações de graça (por enquanto) – Setembro de 2008: Primeiro aparelho no mercado com o Android, o T-Mobile G1 – Setembro de 2008: Versão 1.0 do Android SDK é lançado – Outubro de 2008: Código fonte do Android é aberto a comunidade Memória: RAM (192MB), ROM (256MB) Processador: Qualcomm 528 Mhz Peso: 158 Gramas Conectividade: WiFi 802.11b/g, 3G (HSDPA), Quadband GSM Tela: HVGA (320x480) Teclado: Qwerty Recursos: Câmera 2.0 MP, microSD slot, GPS, bússola e acelerômetro
  • 6. Plataforma Android Porque o Google criou o Android? – Plataforma JavaME • Não é open-source, apenas no JavaSE é open-source • Está um pouco ultrapassada (CLDC + MIDP) • Necessidade de uma nova API de GUI – IPhone não possui suporte oficial a aplicações em Java – Grande comunidade de desenvolvedores Java • Utilizou a comunidade no provimento de sugestões na arquitetura, correções de bugs • O jeito “Google” de ser e fazer as coisas
  • 7. Plataforma Android Porque o Google criou o Android? – Busca por uma plataforma aberta e rica de recursos • Licença Apache 2.0 e GPL v2 • Navegação pela Web • Serviços Google: Maps, GPS, StreetView, gráficos 2D, Open GL • Media Framework, SQLite – Criação de um novo modelo de desenvolvimento de aplicações móveis • Arquitetura baseada em componentes
  • 8. Plataforma Android Plataforma Aberta: Vantagens – Consumidores • Dispositivos mais baratos e mais inovadores (recursos, aplicações) – Operadoras • Baixo custo de dispositivos, inovação mais rápida, flexibilidade de customização – Fabricantes de dispositivos • Custo de SW baixo, TTM mais rápido, flexibilidade para prover tipos de produtos diferentes
  • 9. Plataforma Android Plataforma Aberta: Vantagens – Fabricantes de semicondutores • Acesso a recursos mais avançados do dispositivo, acesso por desenvolvedores – Empresas de software • Integração de aplicações mais simples, demanda por mais aplicações, investimentos em SW – Desenvolvedores • Acesso a API, ferramentas open-source e populares, melhor desenvolvimento de aplicações, custo menor de distribuição e comercialização de aplicações
  • 11. Plataforma Android Arquitetura: Dalvik VM – Máquina virtual Java não padronizada – Dalvik VM != JavaSE VM – Não é baseada no JavaSE e/ou JavaME, não possui as APIs de GUI (Swing, AWT) – Otimizada para dispositivos embarcados – Usabilidade, energia, processamento, gerência de processos – APIs Java presentes • Apache Commons, HttpClient e Junit • Telefonia, Gerenciamento de energia e SMS
  • 12. Plataforma Android Arquitetura: Dalvik VM – Compilação para Dalvik BC – Os programa são desenvolvidos em Java usando IDEs orientadas a Java. Porém ao invés de compilar para bytecode Java (.class), a compilação vai para dalvik bytecode (.dex) – Cada aplicação é executada em uma única e exclusiva instância da VM • Multitarefas – Utiliza o kernel para as funcionalidades de baixo nível • Gerenciamento de memória e threading
  • 13. Plataforma Android Características • Filosofia – quot;Successful applications will offer an outstanding end-user experiencequot; • Fast • Responsive • Seamless • Interface gráfica – Modelo de componentes rico baseado em XML – Novos componentes: MapView, WebView ou customizado • Aplicações – Cliente de Email, mensagens por SMS, Calendário, mapas – Navegador, Contatos – Todas as aplicações foram desenvolvidas na linguagem Java
  • 15. Plataforma Android Vantagens • Utiliza tecnologias como o Java e Eclipse – Grande quantidade de desenvolvedores adeptos • Modelo de UI rico utilizando uma programação declarativa por XML – Mais simples de construir interfaces • SDK com vários recursos • Oferece mais recursos que o JavaME • Possui dispositivos reais no mercado
  • 16. Plataforma Android Vantagens • Plataforma aberta – Código aberto e independente de hardware • Permite a construção de aplicações complexas • Fácil instalação de aplicações em dispositivos – Menos restritivo que outras plataformas • Navegação Web – WebKit – Mesmo do IPhone, Safari, Chrome • Serviços de localização – Gmaps, Street view, GPS, alertas de proximidada
  • 17. Plataforma Android Desvantagens • SDK sofre alterações significativas entre versões antes do 1.0 • Modelo de programação complexo comparada a outras existentes (AWT, Swing, MIDP) – Curva de aprendizado para desenvolvedores JavaME é alta • Dispositivos reais só recentemente – Somente dois no mercado • Plataforma nova, com pouco tempo de uso – Bugs, falhas de segurança • Concorrentes fortes no mercado – IPhone, Windows Mobile e outros
  • 18. Plataforma Android Ferramentas de Desenvolvimento • JavaSE Systems Development Kit • Android SDK • Emulador • Ferramentas de linha de comando (ex: emulador, android debug bridge, etc.) • Documentação • Aplicações de exemplo • Eclipse • ADT: Android Development Tools Plugin • DDMS: Dalvik Debug Monitor Server • Interface gráfica • Baseada em XML • www.droiddraw.org
  • 19. Plataforma Android Modelo de Desenvolvimento • Modelo de desenvolvimento voltado a componentes • Blocos básicos de construção – Atividades e intenções – Receptores de broadcast – Serviços – Provedores de conteúdo • Aplicações e serviços utilizam recursos de camadas inferiores – Aplicações – App Framework – Bibliotecas nativas – Linux Kernel
  • 20. Plataforma Android Componentes de uma Aplicação • Visões (Views) – Interfaces de usuário (ex: listas, grids, botões) • Provedores de conteúdo (Content Providers) – Acesso a dados de outras aplicações (ex: contatos) • Gerenciador de recursos (Resource Mgr) – Acesso a recursos (ex: strings, gráficos e leioutes internacionalizador • Gerenciador de notificações (Notification Mgr) – Mostragem de alertas na barra de estado
  • 21. Plataforma Android Componentes de uma Aplicação • Gerenciador de atividades (Activity Mgr) – Gerencia o ciclo de vida de aplicações • Gerenciador de serviços (Service Mgr) – Gerencia os serviços (sem UI) • Receptores de broadcast – Receptor e reagente a anúncios e eventos • Intenções (Intents) – Mensagens assíncronas de ativação, responsável por acionar as atividades, serviços e receptores de broadcast
  • 22. Plataforma Android Ciclo de Vida de Atividades
  • 23. Plataforma Android Ciclo de Vida de Serviços
  • 24. Plataforma Android Hello, Android! package com.android.hello; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText(quot;Hello, Androidquot;); setContentView(tv); } }
  • 25. Plataforma Android Google Phone: HTC G1 • Android OS (baseado no Linux) • Tela 3.2 polegadas sensível ao toque, resolução HVGA – 65k cores, 320x480 (resolução do IPhone) • Teclado qwerty • Processador Qualcomm MSM 7201A 528 MHz, 192 MB RAM • Quadband GSM/GPRS/EDGE/HSDPA/HSUPA • Câmera de 3.15 MP • WiFi 802.11 b/g • GPS • Trackball • Sensor de acelerômetro e compasso digital
  • 28. Plataforma Android Google Phone: HTC G1 • Vantagens • Desvantagens – É um celular do Google! – É um celular do Google! – Navegação em trackball – Sem suporte a video pela câmera (ligações e – Bom tempo de bateria (1 gravação) dia sobre uso pesado) – Sem suporte a Flash no – Boa responsividade na browser execução de aplicações – Bluetooth restrito – Sem radio FM – Sem auto-rotação da tela
  • 29. Plataforma Android Android Developer's Challenge • Desafio para que desenvolvedores utilizassem a plataforma Android para o desenvolvimento de aplicações móveis • Mais de 1700 submissões • Os 50 melhores foram escolhidos de todas as submissões – Duas fases de submissão • Os 50 melhores receberam US$ 25,000.00 • Os melhores ganharam – Dez prêmios de US$ 275,000.00 – Dez prêmios de US$ 100,000.00
  • 30. Plataforma Android Android Developer's Challenge • Áreas sugeridas – Redes sociais – Consumo, gerenciamento, edição ou compartilhamento de de mídia, etc. – Fotos – Produtividade e colaboração, tais como Email, IM, calendário, etc. – Jogos – Notícias e informações – Novas interfaces de usuário – Funcionalidade mash-up – Location-based services – Benefícios humanitários – Aplicações em serviço do desenvolvimento econômico global – Lista de candidatos
  • 31. Plataforma Android Links Interessantes • Android Market – http://www.android.com/market/ – Loja de aplicações do Google – Permite a oferta de aplicações por desenvolvedores • US$ 25,00 por membro por ano – 70% do lucro vai para os desenvolvedores, restante para operadoras, custos, etc. – Processo similar ao YouTube • Feedback ao desenvolvedor • Publicação de aplicações: register, upload e publish, acompanhamento das aplicações • Android Developers – http://developer.android.com/ • Google APIs – GeoCoder, Maps API – http://code.google.com/android/add-ons/google-apis/index.html
  • 32. Plataforma Android Conclusões • Mercado está amadurecendo rapidamente – Oportunidades e desafios • Alta demanda – Faltam profissionais especialistas no desenvolvimento de aplicações móveis – Caso comum: desenvolvedor para desktop ou servidor e prepará-lo para dispositivos móveis – Transações móveis, jogos, aplicações corporativas – Consumo de conteúdo (texto, mídia)
  • 33. Plataforma Android Conclusões • Android como plataforma de desenvolvimento de aplicações ubíquas • Adotado pelo meio acadêmico • Convergência de serviços e tecnologias para o dispositivo móvel – Texto, mídia, dados, serviços baseados em IP • Plataformas de desenvolvimento em Java – Portabilidade, ubiquidade e número de desenvolvedores