Sei sulla pagina 1di 59

Android e computação Móvel

Android e computação Móvel por Eduardo Kluwe Veiga

por Eduardo Kluwe Veiga

Android

O que é Android?Android Porque é importante? Do celular ao Smartphone Paralelo Desktop-Smartphone Sistemas Operacionais Móveis Historia

Porque é importante?Android O que é Android? Do celular ao Smartphone Paralelo Desktop-Smartphone Sistemas Operacionais Móveis Historia do

Do celular ao SmartphoneAndroid O que é Android? Porque é importante? Paralelo Desktop-Smartphone Sistemas Operacionais Móveis Historia do

Paralelo Desktop-Smartphoneé Android? Porque é importante? Do celular ao Smartphone Sistemas Operacionais Móveis Historia do Android Para

Sistemas Operacionais MóveisDo celular ao Smartphone Paralelo Desktop-Smartphone Historia do Android Para que foi feito? Licenciamento

Historia do AndroidParalelo Desktop-Smartphone Sistemas Operacionais Móveis Para que foi feito? Licenciamento Arquitetura Básica

Para que foi feito? Licenciamento
LicenciamentoPara que foi feito?

Arquitetura BásicaSistemas Operacionais Móveis Historia do Android Para que foi feito? Licenciamento Dalvik VM SDK e NDK

Dalvik VMOperacionais Móveis Historia do Android Para que foi feito? Licenciamento Arquitetura Básica SDK e NDK Conclusão

SDK e NDKOperacionais Móveis Historia do Android Para que foi feito? Licenciamento Arquitetura Básica Dalvik VM Conclusão

ConclusãoOperacionais Móveis Historia do Android Para que foi feito? Licenciamento Arquitetura Básica Dalvik VM SDK e

Móveis Historia do Android Para que foi feito? Licenciamento Arquitetura Básica Dalvik VM SDK e NDK
Móveis Historia do Android Para que foi feito? Licenciamento Arquitetura Básica Dalvik VM SDK e NDK
Móveis Historia do Android Para que foi feito? Licenciamento Arquitetura Básica Dalvik VM SDK e NDK
Móveis Historia do Android Para que foi feito? Licenciamento Arquitetura Básica Dalvik VM SDK e NDK
Móveis Historia do Android Para que foi feito? Licenciamento Arquitetura Básica Dalvik VM SDK e NDK

O que é Android?

Android é um Sistema Operacional de código aberto para dispositivos móveis (celulares, tablets etc) e ndroid é um Sistema Operacional de código aberto para dispositivos móveis (celulares, tablets etc) e utiliza uma versão modificada do Linux.

Foi desenvolvido inicialmente pela Android Inc., que foi posteriormente adquirido pelo Google, depois pela Open Handset Alliance. Permite a desenvolvedores criarem aplicações Java que controlam o dispositivo por bibliotecas desenvolvidas pelo Google.tablets etc) e utiliza uma versão modificada do Linux. O lançamento do Android se deu em

o dispositivo por bibliotecas desenvolvidas pelo Google. O lançamento do Android se deu em 5 de
o dispositivo por bibliotecas desenvolvidas pelo Google. O lançamento do Android se deu em 5 de

O lançamento do Android se deu em 5 de Novembro de 2007, com a fundação da Open Handset Alliance, um consórcio de 65 empresas de software, hardware e telecomunicações. O Google liberou a maior parte do código fonte.Permite a desenvolvedores criarem aplicações Java que controlam o dispositivo por bibliotecas desenvolvidas pelo Google.

um consórcio de 65 empresas de software, hardware e telecomunicações. O Google liberou a maior parte
um consórcio de 65 empresas de software, hardware e telecomunicações. O Google liberou a maior parte
um consórcio de 65 empresas de software, hardware e telecomunicações. O Google liberou a maior parte
Por que é importante? 1.Multiplataforma 2. um projeto do Google. 3. opensource. 4. Popularização dos

Por que é importante?

1.Multiplataforma

2. um projeto do Google.

3. opensource.

4. Popularização dos smartphones pela necessidade de uma

plataforma unificada

5.Tablets: um mercado em acensão

6

Desenvolvimento em Java

7.

É simples e de fácil entendimento

8.

Não há restrições de aplicações

9.

Ambiente de desenvolvimento bem documentado

10.Loja virtual de fácil acesso.

há restrições de aplicações 9. Ambiente de desenvolvimento bem documentado 10.Loja virtual de fácil acesso.
há restrições de aplicações 9. Ambiente de desenvolvimento bem documentado 10.Loja virtual de fácil acesso.
há restrições de aplicações 9. Ambiente de desenvolvimento bem documentado 10.Loja virtual de fácil acesso.
há restrições de aplicações 9. Ambiente de desenvolvimento bem documentado 10.Loja virtual de fácil acesso.
há restrições de aplicações 9. Ambiente de desenvolvimento bem documentado 10.Loja virtual de fácil acesso.

Do celular ao Smartphone

Telefone celular é um aparelho de comunicação por ondas eletromagnéticas que permite a transmissão bidirecional de voz e dados .Do celular ao Smartphone A invenção do telefone celular ocorreu em 1947 pelo laboratório Bell, nos

A invenção do telefone celular ocorreu em 1947 pelo laboratório Bell, nos EUAque permite a transmissão bidirecional de voz e dados . Primeira geração – analógica – telefonia

celular ocorreu em 1947 pelo laboratório Bell, nos EUA Primeira geração – analógica – telefonia somente

Primeira geração – analógica – telefonia somentecelular ocorreu em 1947 pelo laboratório Bell, nos EUA Segunda geração – digital - TDMA, CDMA

Segunda geração – digital - TDMA, CDMA e GSMEUA Primeira geração – analógica – telefonia somente SMS(1993 na Finlândia) foi o primeiro recurso que

somente Segunda geração – digital - TDMA, CDMA e GSM SMS(1993 na Finlândia) foi o primeiro
somente Segunda geração – digital - TDMA, CDMA e GSM SMS(1993 na Finlândia) foi o primeiro
somente Segunda geração – digital - TDMA, CDMA e GSM SMS(1993 na Finlândia) foi o primeiro

SMS(1993 na Finlândia) foi o primeiro recurso que foi incluído nos aparelhos celulares que o tornou mais do que uma variante móvel do telefone fixo.

o tornou mais do que uma variante móvel do telefone fixo. MMS:protocolo para mensagens multimídia WAP:

MMS:protocolo para mensagens multimídiao tornou mais do que uma variante móvel do telefone fixo. WAP: Protocolo de internet para

do telefone fixo. MMS:protocolo para mensagens multimídia WAP: Protocolo de internet para dispositivos moveis, muito
do telefone fixo. MMS:protocolo para mensagens multimídia WAP: Protocolo de internet para dispositivos moveis, muito

WAP: Protocolo de internet para dispositivos moveis, muito simples e limitado porém eficiente para a época Usava o WML (Wireless Markup Language) e não suportava HTML

Do celular ao Smartphone

Do outro lado nasciam os PDADo celular ao Smartphone Evolução direta das agendas eletrônicas que fizeram sucesso no inicio dos anos

Evolução direta das agendas eletrônicas que fizeram sucesso no inicio dos anos 90Do celular ao Smartphone Do outro lado nasciam os PDA Os pocket pc conquistaram seu pequeno

Os pocket pc conquistaram seu pequeno espaço normalmente representado pelo mercado corporativoInicialmente já possuíam tela sensível ao toque,e funcionavam principalmente como agenda,bloco de notas,calculadora,e

Inicialmente já possuíam tela sensível ao toque,e funcionavam principalmente como agenda,bloco de notas,calculadora,e rodavam aplicações básicasespaço normalmente representado pelo mercado corporativo Em 1999 passaram a possuir wi-fi transformando no meio mais

de notas,calculadora,e rodavam aplicações básicas Em 1999 passaram a possuir wi-fi transformando no meio mais

Em 1999 passaram a possuir wi-fi transformando no meio mais eficiente para ler e enviar emails quando não se possuía um computador por pertosensível ao toque,e funcionavam principalmente como agenda,bloco de notas,calculadora,e rodavam aplicações básicas

wi-fi transformando no meio mais eficiente para ler e enviar emails quando não se possuía um

Em 2002 surge o BlackBerry, primeiro PDA a incluir telefonia que em conjunto com as funções já comum em PDAs(leitura de emails, navegação web, conectividade wi-fi) se tornou o primeiro smartphone.wi-fi transformando no meio mais eficiente para ler e enviar emails quando não se possuía um

as funções já comum em PDAs(leitura de emails, navegação web, conectividade wi-fi) se tornou o primeiro
as funções já comum em PDAs(leitura de emails, navegação web, conectividade wi-fi) se tornou o primeiro
as funções já comum em PDAs(leitura de emails, navegação web, conectividade wi-fi) se tornou o primeiro

Paralelo Desktop Smartphone

Desktops são projetados visando desempenho, smartphones são projetados visando portabilidade.Paralelo Desktop Smartphone Smartphones são voltados a conectividade rápida Smartphones necessitam de baixo consumo

Smartphones são voltados a conectividade rápidasmartphones são projetados visando portabilidade. Smartphones necessitam de baixo consumo elétrico Desktops

Smartphones necessitam de baixo consumo elétricoSmartphones são voltados a conectividade rápida Desktops tendem a evoluir normalmente baseado em melhorias

Desktops tendem a evoluir normalmente baseado em melhorias de processamento,Smartphones tendem a evoluir agregando funçõesrápida Smartphones necessitam de baixo consumo elétrico Desktops são modulares, cada componente é feito por uma

tendem a evoluir agregando funções Desktops são modulares, cada componente é feito por uma

Desktops são modulares, cada componente é feito por uma fabricante diferente e o cliente pode montar a sua escolha, Smartphones são feitos normalmente por uma fabricante(salvo alguns componentes), o cliente compra o produto final sem opções de personalização(ate o software)tendem a evoluir normalmente baseado em melhorias de processamento,Smartphones tendem a evoluir agregando funções

fabricante(salvo alguns componentes), o cliente compra o produto final sem opções de personalização(ate o software)
fabricante(salvo alguns componentes), o cliente compra o produto final sem opções de personalização(ate o software)
fabricante(salvo alguns componentes), o cliente compra o produto final sem opções de personalização(ate o software)
fabricante(salvo alguns componentes), o cliente compra o produto final sem opções de personalização(ate o software)

Sistemas Operacionais móveis

Antes do surgimento dos Smartphones cada fabricante tinha seu próprio S.O.Sistemas Operacionais móveis Eles rodavam suas próprias aplicações e não permitiam programas de terceiros Os sistemas

Eles rodavam suas próprias aplicações e não permitiam programas de terceirosdos Smartphones cada fabricante tinha seu próprio S.O. Os sistemas operacionais para Smartphones permitiram

Os sistemas operacionais para Smartphones permitiram aplicações de terceiros serem instaladasaplicações e não permitiam programas de terceiros Os principais sistemas foram o Palm OS,o Windows Mobile,

Os principais sistemas foram o Palm OS,o Windows Mobile, o blackberry, o Symbian e mais recentemente o Iphoneprogramas de terceiros Os sistemas operacionais para Smartphones permitiram aplicações de terceiros serem instaladas

instaladas Os principais sistemas foram o Palm OS,o Windows Mobile, o blackberry, o Symbian e mais
instaladas Os principais sistemas foram o Palm OS,o Windows Mobile, o blackberry, o Symbian e mais
instaladas Os principais sistemas foram o Palm OS,o Windows Mobile, o blackberry, o Symbian e mais
instaladas Os principais sistemas foram o Palm OS,o Windows Mobile, o blackberry, o Symbian e mais

Sistemas Operacionais móveis

Sistemas Operacionais móveis O Palm Os começou como um sistema muito simples servindo de assistente pessoal.

O Palm Os começou como um sistema muito simples servindo de assistente pessoal.Sistemas Operacionais móveis necessitava de poucos recursos de Hardware Essa se tornou uma característica marcante do

necessitava de poucos recursos de Hardwareum sistema muito simples servindo de assistente pessoal. Essa se tornou uma característica marcante do Palm

Essa se tornou uma característica marcante do Palm pois sempre os dispositivos eram simples e baratospessoal. necessitava de poucos recursos de Hardware Em 1999 eram dominantes, quase sinônimo de PDA em

Em 1999 eram dominantes, quase sinônimo de PDAdo Palm pois sempre os dispositivos eram simples e baratos em 2002 migraram para a plataforma

em 2002 migraram para a plataforma ARM, e os palms se tornaram dispositivos mais poderosos e rápidosmarcante do Palm pois sempre os dispositivos eram simples e baratos Em 1999 eram dominantes, quase

sinônimo de PDA em 2002 migraram para a plataforma ARM, e os palms se tornaram dispositivos
sinônimo de PDA em 2002 migraram para a plataforma ARM, e os palms se tornaram dispositivos

Sistemas Operacionais móveis

Sistemas Operacionais móveis Em 2003,adicionaram a funcionalidade de telefone se tornando um smartphone O Palm começou

Em 2003,adicionaram a funcionalidade de telefone se tornando um smartphoneSistemas Operacionais móveis O Palm começou a perder mercado em 2004 pois não acompanharam o desenvolvimento

O Palm começou a perder mercado em 2004 pois não acompanharam o desenvolvimento dos outros sistemas operacionais móveis se tornando um dispositivo caro e limitadoSistemas Operacionais móveis Em 2003,adicionaram a funcionalidade de telefone se tornando um smartphone

não acompanharam o desenvolvimento dos outros sistemas operacionais móveis se tornando um dispositivo caro e limitado
não acompanharam o desenvolvimento dos outros sistemas operacionais móveis se tornando um dispositivo caro e limitado

Sistemas Operacionais móveis

A plataforma windows Mobile da microsoft nunca teve um grande domínio de mercadoSistemas Operacionais móveis Inicialmente foi destinado a palmtops e futuramente ingressou no mercado de smartphones

Inicialmente foi destinado a palmtops e futuramente ingressou no mercado de smartphonesMobile da microsoft nunca teve um grande domínio de mercado surgiu de um fork do Windows

surgiu de um fork do Windows CE, uma versão do windows 98 destinada a portáteis, mas com uma interface totalmente não adaptada para o meio dos PDAsteve um grande domínio de mercado Inicialmente foi destinado a palmtops e futuramente ingressou no mercado

CE, uma versão do windows 98 destinada a portáteis, mas com uma interface totalmente não adaptada

Sistemas Operacionais móveis

O desenvolvimento no Windows Mobile era

O

desenvolvimento no Windows Mobile era

muito facilitado devido a semelhança com o Windows, sem contar que a existência de ferramentas compatíveis com o Office e outros produtos da microsoft era muito atraente ao meio corporativo

Porém

Porém

A

interface nunca foi completamente

intuitiva, era complexa e pouco funcional, por isso nunca conquistou grande público

a resolução era no máximo QVGA

a

resolução era no máximo QVGA

o desempenho era muito inferior aos demais

o

desempenho era muito inferior aos demais

concorrentes

grande público a resolução era no máximo QVGA o desempenho era muito inferior aos demais concorrentes

Sistemas Operacionais móveis

Sistemas Operacionais móveis Foi o primeiro Smartphone desenvolvido Projetado e fabricado pela empresa RIM(Research In

Foi o primeiro Smartphone desenvolvidoSistemas Operacionais móveis Projetado e fabricado pela empresa RIM(Research In Motion) O fundador da RIM, o

Projetado e fabricado pela empresa RIM(Research In Motion)Operacionais móveis Foi o primeiro Smartphone desenvolvido O fundador da RIM, o Canadense Mike Lazaridis teve

O fundador da RIM, o Canadense Mike Lazaridis teve a ideia do produto pois sentia necessidade de ler seus emails quando estivesse fora.Projetado e fabricado pela empresa RIM(Research In Motion) Inicialmente ele era somente um pager mas em

Inicialmente ele era somente um pager mas em 2002 foi lançado o primeiro smartphone que agregava funções de celular,sms,leitura de emails,navegação na internet,teclado QWERTY,wi-fisentia necessidade de ler seus emails quando estivesse fora. Sempre teve foco no mercado corporativo, e

Sempre teve foco no mercado corporativo, e até hoje domina as vendas nesse mercado principalmente nos Estados unidoso primeiro smartphone que agregava funções de celular,sms,leitura de emails,navegação na internet,teclado QWERTY,wi-fi

Sistemas Operacionais móveis

Sistemas Operacionais móveis Symbian é um sistema operacional para dispositivos móveis e smartphones, com bibliotecas
Sistemas Operacionais móveis Symbian é um sistema operacional para dispositivos móveis e smartphones, com bibliotecas

Symbian é um sistema operacional para dispositivos móveis e smartphones, com bibliotecas associadas, interface, frameworks e implementações com referência em ferramentas comuns.

Foi o Sistema operacional para smartphones mais vendido antes do surgimento do Android. Utilizado nos aparelhos Nokia. Foi o primeiro a Iniciar a popularização do Smartphone, com uma interface intuitiva e uma boa quantidade de aplicativose implementações com referência em ferramentas comuns. O sistema é modular e pode suportar várias interfaces

O sistema é modular e pode suportar várias interfaces gráficas diferentes adaptadas de acordo com o aparelho e com a fabricante do aparelhoFoi o primeiro a Iniciar a popularização do Smartphone, com uma interface intuitiva e uma boa

Sistemas Operacionais móveis

Sistemas Operacionais móveis Em 2008 foi comprada pela Nokia que abriu o código fonte É um

Em 2008 foi comprada pela Nokia que abriu o código fonteSistemas Operacionais móveis É um sistema aberto e de baixo custo (Em torno de $4 por

É um sistema aberto e de baixo custo (Em torno de $4 por aparelho) Possui recursos para gerenciar e utilizar pouca bateria e memória Permite a instalação de softwares de terceiros Baseado em padrões de comunicação e dados. Mecanismos que asseguram a transferência e armazenamento de dados Desfruta muito bem de todas as áreas do aparelho. Memória RAM, Processador, Processador Gráfico, etc. É um sistema operativo mais estável e seguro com relação aos seus concorrentesSistemas Operacionais móveis Em 2008 foi comprada pela Nokia que abriu o código fonte

Sistemas Operacionais móveis

Sistemas Operacionais móveis desenvolvimento em Symbian C/C++ Java Me FlashLite HTML5 Perl Python Ruby Lua QT

desenvolvimento em

Sistemas Operacionais móveis desenvolvimento em Symbian C/C++ Java Me FlashLite HTML5 Perl Python Ruby Lua QT

Symbian C/C++ Java Me FlashLite

móveis desenvolvimento em Symbian C/C++ Java Me FlashLite HTML5 Perl Python Ruby Lua QT infelizmente com
móveis desenvolvimento em Symbian C/C++ Java Me FlashLite HTML5 Perl Python Ruby Lua QT infelizmente com

HTML5

desenvolvimento em Symbian C/C++ Java Me FlashLite HTML5 Perl Python Ruby Lua QT infelizmente com o

Perl

em Symbian C/C++ Java Me FlashLite HTML5 Perl Python Ruby Lua QT infelizmente com o passar

Python

Ruby

Lua

QTSymbian C/C++ Java Me FlashLite HTML5 Perl Python Ruby Lua infelizmente com o passar do tempo

infelizmente com o passar do tempo o sistema não acompanhou a evolução da concorrente Apple e deixou caminho aberto para o AndroidSistemas Operacionais móveis desenvolvimento em Symbian C/C++ Java Me FlashLite HTML5 Perl Python Ruby Lua QT

Sistemas Operacionais móveis

Sistemas Operacionais móveis O Smartphone era mais utilizado no meio corporativo Symbian era a plataforma dominante
Sistemas Operacionais móveis O Smartphone era mais utilizado no meio corporativo Symbian era a plataforma dominante
Sistemas Operacionais móveis O Smartphone era mais utilizado no meio corporativo Symbian era a plataforma dominante

O Smartphone era mais utilizado no meio

corporativo

móveis O Smartphone era mais utilizado no meio corporativo Symbian era a plataforma dominante fora deste

Symbian era a plataforma dominante fora deste meio mas seu desenvolvimento não era muito ativo

A

complexidade de uso dos sistemas, afastavam o usuário final do smartphone

dificuldade em se encontrar aplicações, a

A apple lançou o Iphone com o intuito de

levar o smartphone a um público mais amplo

Sistemas Operacionais móveis

Sistemas Operacionais móveis A interface foi completamente desenhada para ser simples e chamativa A AppStore embora
Sistemas Operacionais móveis A interface foi completamente desenhada para ser simples e chamativa A AppStore embora

A interface foi completamente desenhada

para ser simples e chamativa

A AppStore embora seja totalmente

controlada pela apple

tornou a procura de aplicativos muito

simples

rapidamente o iphone conquistou o mercado se tornando o smartphone com maior numero de aplicativos

Historia do Android

Em julho de 2005 Google comprou a Android Inc. Empresa que produzia um sistema para celulares.Historia do Android Em novembro de 2007 é criada a Open Handset Alliance formada por 65

Em novembro de 2007 é criada a Open Handset Alliance formada por 65 empresas de hardware e softwareAndroid Inc. Empresa que produzia um sistema para celulares. Em 2008 o Android é anunciado (um

Em 2008 o Android é anunciado (um sistema operacional para dispositivos móveis)Alliance formada por 65 empresas de hardware e software de Outubro de 2008 foi que o

de Outubro de 2008 foi que o Android se tornou Open Sourceanunciado (um sistema operacional para dispositivos móveis) 21 22 sendo vendido por $179,99 de Outubro de

21

22

de 2008 foi que o Android se tornou Open Source 21 22 sendo vendido por $179,99

sendo vendido por $179,99de 2008 foi que o Android se tornou Open Source 21 22 de Outubro de 2008

de Outubro de 2008 foi lançado o primeiro aparelho celular com Android, o HTC G1,

Em 22 de outubro de 2008 o Android Market é apresentado aos usuários finais, tendo disponíveis aplicativos grátis e pagos.lançado o primeiro aparelho celular com Android, o HTC G1, Em março de 2009 o Android

finais, tendo disponíveis aplicativos grátis e pagos. Em março de 2009 o Android Market tinha cerca

Em março de 2009 o Android Market tinha cerca de 2 mil apps.finais, tendo disponíveis aplicativos grátis e pagos. em março de 2010 já havia cerca de 40

em março de 2010 já havia cerca de 40 mil apps no Android Market.Em março de 2009 o Android Market tinha cerca de 2 mil apps. 1º de Maio

1º de Maio de 2011, cerca de 295 mil apps no Android Marketde 2009 o Android Market tinha cerca de 2 mil apps. em março de 2010 já

de 2010 já havia cerca de 40 mil apps no Android Market. 1º de Maio de

Para que foi feito?

Para que foi feito? Já não existem sistemas operacionais demais? Qual a motivação para o projeto

Já não existem sistemas operacionais demais?

Qual a motivação para o projeto do android?Para que foi feito? Já não existem sistemas operacionais demais? Por que aberto? Por que faz

Por que aberto?feito? Já não existem sistemas operacionais demais? Qual a motivação para o projeto do android? Por

Por que faz sucesso?foi feito? Já não existem sistemas operacionais demais? Qual a motivação para o projeto do android?

existem sistemas operacionais demais? Qual a motivação para o projeto do android? Por que aberto? Por
existem sistemas operacionais demais? Qual a motivação para o projeto do android? Por que aberto? Por
existem sistemas operacionais demais? Qual a motivação para o projeto do android? Por que aberto? Por
existem sistemas operacionais demais? Qual a motivação para o projeto do android? Por que aberto? Por
existem sistemas operacionais demais? Qual a motivação para o projeto do android? Por que aberto? Por

Para que foi feito?

Iphone revolucionou a industria de smartphones popularizou o smartphonePara que foi feito? Iphone possuía sua loja virtual cheia de aplicações ao alcance de todos

Iphone possuía sua loja virtual cheia de aplicações ao alcance de todosa industria de smartphones popularizou o smartphone o mercado de smartphones estava fragmentado, não existia um

sua loja virtual cheia de aplicações ao alcance de todos o mercado de smartphones estava fragmentado,

o

sua loja virtual cheia de aplicações ao alcance de todos o mercado de smartphones estava fragmentado,

mercado de smartphones estava fragmentado, não existia um sistema dominante

estava fragmentado, não existia um sistema dominante o Symbian estava parado no tempo e não se

o Symbian estava parado no tempo e não se modernizava

Iphone estava restrito a uma plataformao Symbian estava parado no tempo e não se modernizava google avistou um Mercado abandonado o

não se modernizava Iphone estava restrito a uma plataforma google avistou um Mercado abandonado o mercado
não se modernizava Iphone estava restrito a uma plataforma google avistou um Mercado abandonado o mercado

google avistou um Mercado abandonadonão se modernizava Iphone estava restrito a uma plataforma o mercado de smartphones não tinha unidade,

a uma plataforma google avistou um Mercado abandonado o mercado de smartphones não tinha unidade, logo

o mercado de smartphones não tinha unidade, logo era complicado produzir

softwares para ele pois eles não eram compatíveis com os outros sistemas

ele pois eles não eram compatíveis com os outros sistemas Para produzir aplicativos multi-plataforma a única

Para produzir aplicativos multi-plataforma a única solução era o JAVA ME,a versão para dispositivos móveis do java. A maquina virtual é proprietária e patenteada.

solução era o JAVA ME,a versão para dispositivos móveis do java. A maquina virtual é proprietária

Licenciamento

GNU GPL v2 para kernel e patches aplicados ao mesmo Licença Apache para o resto do sistemaLicenciamento GPL -> modificações precisam ser imediatamente compartilhadas apache -> pode-se modificar e não

GPL -> modificações precisam ser imediatamente compartilhadasaplicados ao mesmo Licença Apache para o resto do sistema apache -> pode-se modificar e não

apache -> pode-se modificar e não compartilhar o códigomodificações precisam ser imediatamente compartilhadas javaME é a versão para dispositivos moveis do java é

-> pode-se modificar e não compartilhar o código javaME é a versão para dispositivos moveis do
-> pode-se modificar e não compartilhar o código javaME é a versão para dispositivos moveis do

javaME é a versão para dispositivos moveis do java é proprietário-> pode-se modificar e não compartilhar o código android implementou sua própria java VM oracle processou

a versão para dispositivos moveis do java é proprietário android implementou sua própria java VM oracle

android implementou sua própria java VMa versão para dispositivos moveis do java é proprietário oracle processou o google alegando que a

oracle processou o google alegando que a Dalvik VM quebrava patentes do java embora o código java seja GPL, os componentes do javaME não são google reimplementou do zero Livre?o código javaME é a versão para dispositivos moveis do java é proprietário android implementou sua

patentes do java embora o código java seja GPL, os componentes do javaME não são google
patentes do java embora o código java seja GPL, os componentes do javaME não são google
patentes do java embora o código java seja GPL, os componentes do javaME não são google

Licenciamento

GNU GPL v2 para kernel e patches aplicados ao mesmo Licença Apache para o resto do sistemaLicenciamento GPL -> modificações precisam ser imediatamente compartilhadas Apache -> pode-se modificar e não

GPL -> modificações precisam ser imediatamente compartilhadasaplicados ao mesmo Licença Apache para o resto do sistema Apache -> pode-se modificar e não

Apache -> pode-se modificar e não compartilhar o códigomodificações precisam ser imediatamente compartilhadas Recentemente o google anunciou que não liberaria o código

Recentemente o google anunciou que não liberaria o código das versões 3.0 e 3.1-> pode-se modificar e não compartilhar o código Motivo alegado: o código não esta maduro o

Motivo alegado: o código não esta maduro o suficiente e teme fragmentaçãoe não compartilhar o código Recentemente o google anunciou que não liberaria o código das versões

Livre?liberaria o código das versões 3.0 e 3.1 Motivo alegado: o código não esta maduro o

Arquitetura básica

Framework de aplicações Dalvik virtual machine Navegador webkit integrado Biblioteca 2D e biblioteca 3D baseadas na especificação opengl Banco de dados SQlite Suporte multimídia GSM Bluetooth

GPRS,EGDE,3G

Wi-fi

GPS

Câmera

GPS

acelerômetro

opengl Banco de dados SQlite Suporte multimídia GSM Bluetooth GPRS,EGDE,3G Wi-fi GPS Câmera GPS acelerômetro
opengl Banco de dados SQlite Suporte multimídia GSM Bluetooth GPRS,EGDE,3G Wi-fi GPS Câmera GPS acelerômetro
opengl Banco de dados SQlite Suporte multimídia GSM Bluetooth GPRS,EGDE,3G Wi-fi GPS Câmera GPS acelerômetro
opengl Banco de dados SQlite Suporte multimídia GSM Bluetooth GPRS,EGDE,3G Wi-fi GPS Câmera GPS acelerômetro
opengl Banco de dados SQlite Suporte multimídia GSM Bluetooth GPRS,EGDE,3G Wi-fi GPS Câmera GPS acelerômetro

Arquitetura básica

Arquitetura básica

Arquitetura básica

Arquitetura básica

Arquitetura básica

Na Base da Arquitetura utiliza um Fork do Kernel linuxArquitetura básica 2.6 utilizado em serviços centrais do sistema como gerenciamento de memoria escalonamento de

2.6

utilizado em serviços centrais do sistema como gerenciamento de memoria escalonamento de processos

gerenciamento do sistema de arquivos Drivers

de processos gerenciamento do sistema de arquivos Drivers O Nível seguinte é onde se encontram as
de processos gerenciamento do sistema de arquivos Drivers O Nível seguinte é onde se encontram as

O Nível seguinte é onde se encontram as bibliotecas de sistema. Cada biblioteca tem uma função específica, elas vão informar aos programas como executar determinadas funçõesde processos gerenciamento do sistema de arquivos Drivers System C library Media Libraries Surface manager libwebcore

System C library Media Libraries Surface manager libwebcore SGL freetype SQlite

como executar determinadas funções System C library Media Libraries Surface manager libwebcore SGL freetype SQlite
como executar determinadas funções System C library Media Libraries Surface manager libwebcore SGL freetype SQlite
como executar determinadas funções System C library Media Libraries Surface manager libwebcore SGL freetype SQlite

Arquitetura básica

Camada Runtime: Nesta camada encontra-se as bibliotecas da API da Maquina virtual e a própria maquina virtualArquitetura básica O Terceiro nível é a camada de aplicações, nesta camada estão os programas que

O Terceiro nível é a camada de aplicações, nesta camada estão os programas que gerenciam as funções básicas do sistema como a interface gráfica,geolocalização, entre outros.as bibliotecas da API da Maquina virtual e a própria maquina virtual No topo encontram-se os

básicas do sistema como a interface gráfica,geolocalização, entre outros. No topo encontram-se os aplicativos finais

No topo encontram-se os aplicativos finais

básicas do sistema como a interface gráfica,geolocalização, entre outros. No topo encontram-se os aplicativos finais
básicas do sistema como a interface gráfica,geolocalização, entre outros. No topo encontram-se os aplicativos finais
básicas do sistema como a interface gráfica,geolocalização, entre outros. No topo encontram-se os aplicativos finais
básicas do sistema como a interface gráfica,geolocalização, entre outros. No topo encontram-se os aplicativos finais
básicas do sistema como a interface gráfica,geolocalização, entre outros. No topo encontram-se os aplicativos finais

Dalvik VM

Utiliza a sintaxe da linguagem Java

Utiliza a sintaxe da linguagem Java

DALVIK VM usa o kernel linux para tarefas como gerenciamento de memoria em baixo o

DALVIK VM usa o kernel linux para tarefas como gerenciamento de memoria em baixo

o

nível

É uma maquina virtual baseada em

É

uma maquina virtual baseada em

registradores, diferente da JVM baseada em

pilha

maquinas baseadas em registradores necessitam 47% menos instruções em média [estimativa]

maquinas baseadas em registradores necessitam 47% menos instruções em média [estimativa]

código do registro é em média 25% maior [estimativa] o

código do registro é em média 25% maior [estimativa]

o

necessitam 47% menos instruções em média [estimativa] código do registro é em média 25% maior [estimativa]
necessitam 47% menos instruções em média [estimativa] código do registro é em média 25% maior [estimativa]
necessitam 47% menos instruções em média [estimativa] código do registro é em média 25% maior [estimativa]
necessitam 47% menos instruções em média [estimativa] código do registro é em média 25% maior [estimativa]
necessitam 47% menos instruções em média [estimativa] código do registro é em média 25% maior [estimativa]

Dalvik VM

Android roda em cima da arquitetura ARM ARM é uma arquitetura muito fragmentada os programas android Rodam em cima de uma maquina virtual isso permite que os aplicativos rodem sem alterações de código em qualquer arquitetura suportada pela máquina

Toda aplicação android roda em seu próprio espaço virtual, em sua própria instancia da maquina virtual. uma aplicação não tem contato direto com outra Isso permite maior segurança, dificultando ação de programas maliciosos.

aplicação não tem contato direto com outra Isso permite maior segurança, dificultando ação de programas maliciosos.
aplicação não tem contato direto com outra Isso permite maior segurança, dificultando ação de programas maliciosos.
aplicação não tem contato direto com outra Isso permite maior segurança, dificultando ação de programas maliciosos.
aplicação não tem contato direto com outra Isso permite maior segurança, dificultando ação de programas maliciosos.
aplicação não tem contato direto com outra Isso permite maior segurança, dificultando ação de programas maliciosos.

Dalvik VM

Por cada aplicação rodar em seu próprio ambiente virtual o gerenciamento de memoria é facilitado.

Dalvik foi escrito para trabalhar eficientemente com múltiplas instâncias e é otimizado para baixo consumo de energia

Dalvik foi escrito para trabalhar eficientemente com múltiplas instâncias e é otimizado para baixo consumo de
Dalvik foi escrito para trabalhar eficientemente com múltiplas instâncias e é otimizado para baixo consumo de
Dalvik foi escrito para trabalhar eficientemente com múltiplas instâncias e é otimizado para baixo consumo de
Dalvik foi escrito para trabalhar eficientemente com múltiplas instâncias e é otimizado para baixo consumo de
Dalvik foi escrito para trabalhar eficientemente com múltiplas instâncias e é otimizado para baixo consumo de

Dalvik VM

Baixa velocidade em comparação com código nativo Just in time compiler recurso já existente a
Baixa velocidade em comparação com código nativo Just in time compiler recurso já existente a
Baixa velocidade em comparação com código nativo Just in time compiler recurso já existente a

Baixa velocidade em comparação com código nativo

Just in time compiler recurso já existente a muito tempo na JVM a partir do android 2.2 esta disponível no Dalvik converte os bytecodes em tempo de execução para código nativo aumenta o desempenho da dalvik vm em 5 vezes(estimativa)

É muito simples portar todos os aplicativos android para outro sistema simplesmente portando a VM

5 vezes(estimativa) É muito simples portar todos os aplicativos android para outro sistema simplesmente portando a
5 vezes(estimativa) É muito simples portar todos os aplicativos android para outro sistema simplesmente portando a
5 vezes(estimativa) É muito simples portar todos os aplicativos android para outro sistema simplesmente portando a
5 vezes(estimativa) É muito simples portar todos os aplicativos android para outro sistema simplesmente portando a
5 vezes(estimativa) É muito simples portar todos os aplicativos android para outro sistema simplesmente portando a

Dalvik VM

Dalvik é frequentemente tratada como uma maquina virtual java porém este é um equivoco.Dalvik VM Java = Maquina virtual + sintaxe java + api Dalvik=Maquina virtual + sintaxe java

Java = Maquina virtual + sintaxe java + api sintaxe java + api

um equivoco. Java = Maquina virtual + sintaxe java + api Dalvik=Maquina virtual + sintaxe java
um equivoco. Java = Maquina virtual + sintaxe java + api Dalvik=Maquina virtual + sintaxe java

Dalvik=Maquina virtual + sintaxe java + api sintaxe java + api

A Maquina virtual Dalvik foi baseada no projeto Harmony da Apache, ela não implementa os bytecodes java.java + api Dalvik=Maquina virtual + sintaxe java + api Java é promovida como uma linguagem

Harmony da Apache, ela não implementa os bytecodes java. Java é promovida como uma linguagem livre,

Java é promovida como uma linguagem livre, porém para se criar uma maquina virtual java deve-se passar em um pacote de conformidade tecnológica para receber a certificaçãojava + api A Maquina virtual Dalvik foi baseada no projeto Harmony da Apache, ela não

se criar uma maquina virtual java deve-se passar em um pacote de conformidade tecnológica para receber
se criar uma maquina virtual java deve-se passar em um pacote de conformidade tecnológica para receber

Dalvik VM

Dalvik não funciona com bytecodes jvm o conjunto de instruções dalvik é totalmente diferente Ela interpreta aquivos .Dex que são diferentes de aquivos .class
Ela interpreta aquivos .Dex que são diferentes de aquivos .classDalvik não funciona com bytecodes jvm o conjunto de instruções dalvik é totalmente diferente

- File Header: header do arquivo

- String Table: tabela para armazenar o tamanho das strings, contantes, nome de classe e variáveis.

- Class List: lista todas as classes do arquivo dex.

- Field Table: tabela de campos de todas as classes.

- Method Table: tabela com os métodos de todas as classes .

- Class Definition Table: tabela de definições de classes para todas as classes no arquivo.

- Field List: lista que armazena os dados dos campos de uma classe.

- Method List: lista de métodos de uma classe.

- Code Header: header que contém informações sobre o código que implementa determinado método.

de uma classe. - Code Header: header que contém informações sobre o código que implementa determinado
de uma classe. - Code Header: header que contém informações sobre o código que implementa determinado
de uma classe. - Code Header: header que contém informações sobre o código que implementa determinado
de uma classe. - Code Header: header que contém informações sobre o código que implementa determinado
de uma classe. - Code Header: header que contém informações sobre o código que implementa determinado

Dalvik VM

Dalvik VM
Dalvik VM
Dalvik VM
Dalvik VM
Dalvik VM

Android Market

Loja virtual de aplicativosAndroid Market Permite que desenvolvedores enviem seus projetos Baixo controle por parte do google permite que

Permite que desenvolvedores enviem seus projetosAndroid Market Loja virtual de aplicativos Baixo controle por parte do google permite que qualquer um

Baixo controle por parte do google permite que qualquer um envie seu projetoaplicativos Permite que desenvolvedores enviem seus projetos Permite venda de aplicativos O baixo controle acaba

Permite venda de aplicativosparte do google permite que qualquer um envie seu projeto O baixo controle acaba comprometendo a

O baixo controle acaba comprometendo a segurançaqualquer um envie seu projeto Permite venda de aplicativos É UMA das formas de se instalar

O baixo controle acaba comprometendo a segurança É UMA das formas de se instalar aplicativos no

É UMA das formas de se instalar aplicativos no android Diferente da AppStore que é a única no Iphonepermite que qualquer um envie seu projeto Permite venda de aplicativos O baixo controle acaba comprometendo

a segurança É UMA das formas de se instalar aplicativos no android Diferente da AppStore que
a segurança É UMA das formas de se instalar aplicativos no android Diferente da AppStore que
a segurança É UMA das formas de se instalar aplicativos no android Diferente da AppStore que
a segurança É UMA das formas de se instalar aplicativos no android Diferente da AppStore que

SDK e NDK

O SDK android é o KIT de desenvolvimento necessário para desenvolvermos aplicações para AndroidSDK e NDK Ele se integra ao eclipse através de um plugin Quem esta acostumado a

Ele se integra ao eclipse através de um pluginnecessário para desenvolvermos aplicações para Android Quem esta acostumado a programar em Java conseguirá

Quem esta acostumado a programar em Java conseguirá programar para Androidpara Android Ele se integra ao eclipse através de um plugin O SDK fornece apis para

a programar em Java conseguirá programar para Android O SDK fornece apis para o acesso dos

O SDK fornece apis para o acesso dos recursos da Camada de aplicação facilitando o desenvolvimentoa programar em Java conseguirá programar para Android As interfaces gráficas diferentemente do JVM são criadas

da Camada de aplicação facilitando o desenvolvimento As interfaces gráficas diferentemente do JVM são criadas

As interfaces gráficas diferentemente do JVM são criadas em arquivos .xml que são interpretados pela maquina virtualpara Android O SDK fornece apis para o acesso dos recursos da Camada de aplicação facilitando

As interfaces gráficas diferentemente do JVM são criadas em arquivos .xml que são interpretados pela maquina
As interfaces gráficas diferentemente do JVM são criadas em arquivos .xml que são interpretados pela maquina
As interfaces gráficas diferentemente do JVM são criadas em arquivos .xml que são interpretados pela maquina

SDK e NDK

<TextView

android:id="@+id/TextView01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/black" android:text="Here you can put whatever you want"

android:textSize="12sp"

android:typeface="sans"

android:textStyle="italic"

android:textAlign="center"

>

</TextView>

android:textStyle="italic" android:textAlign="center" > </TextView>
android:textStyle="italic" android:textAlign="center" > </TextView>
android:textStyle="italic" android:textAlign="center" > </TextView>
android:textStyle="italic" android:textAlign="center" > </TextView>
android:textStyle="italic" android:textAlign="center" > </TextView>

SDK e NDK

<TextView

android:id="@+id/TextView01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/black" android:text="Here you can put whatever you want"

android:textSize="12sp"

android:typeface="sans"

android:textStyle="italic"

android:textAlign="center"

>

</TextView>

android:textStyle="italic" android:textAlign="center" > </TextView>
android:textStyle="italic" android:textAlign="center" > </TextView>
android:textStyle="italic" android:textAlign="center" > </TextView>
android:textStyle="italic" android:textAlign="center" > </TextView>
android:textStyle="italic" android:textAlign="center" > </TextView>

SDK e NDK

<TextView

android:id="@+id/TextView01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/black" android:text="Here you can put whatever you want"

android:textSize="12sp"

android:typeface="sans"

android:textStyle="italic"

android:textAlign="center"

>

</TextView>

android:textStyle="italic" android:textAlign="center" > </TextView>
android:textStyle="italic" android:textAlign="center" > </TextView>
android:textStyle="italic" android:textAlign="center" > </TextView>
android:textStyle="italic" android:textAlign="center" > </TextView>
android:textStyle="italic" android:textAlign="center" > </TextView>

SDK e NDK

<ImageView

android:id="@+id/widget31"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

>

</ImageView>

android:layout_width="wrap_content" android:layout_height="wrap_content" > </ImageView>
android:layout_width="wrap_content" android:layout_height="wrap_content" > </ImageView>
android:layout_width="wrap_content" android:layout_height="wrap_content" > </ImageView>
android:layout_width="wrap_content" android:layout_height="wrap_content" > </ImageView>
android:layout_width="wrap_content" android:layout_height="wrap_content" > </ImageView>

SDK e NDK

Android NDK é o KIT de desenvolvimento de aplicações de baixo nivelSDK e NDK Destinado ao desenvolvimenro de aplicaçoes em C/C++ Muito importante para a programaçao de

Destinado ao desenvolvimenro de aplicaçoes em C/C++é o KIT de desenvolvimento de aplicações de baixo nivel Muito importante para a programaçao de

Muito importante para a programaçao de bibliotecas de sistemanivel Destinado ao desenvolvimenro de aplicaçoes em C/C++ Para aqueles que não gostam de java existe

Para aqueles que não gostam de javaimportante para a programaçao de bibliotecas de sistema existe também como programar em outras linguagens -python

existe também como programar em outras linguagensa programaçao de bibliotecas de sistema Para aqueles que não gostam de java -python -Basic -lua

que não gostam de java existe também como programar em outras linguagens -python -Basic -lua -Javascript

-python

-Basic

-lua

-Javascript

-C#(Mono)

que não gostam de java existe também como programar em outras linguagens -python -Basic -lua -Javascript
que não gostam de java existe também como programar em outras linguagens -python -Basic -lua -Javascript
que não gostam de java existe também como programar em outras linguagens -python -Basic -lua -Javascript
que não gostam de java existe também como programar em outras linguagens -python -Basic -lua -Javascript

Hello World

SDK e NDK

Hello World SDK e NDK

Hello World

SDK e NDK

Hello World SDK e NDK

Hello World

SDK e NDK

Hello World SDK e NDK

Hello World

SDK e NDK

Hello World SDK e NDK

Hello World

SDK e NDK

Hello World SDK e NDK

SDK e NDK

Soma de dois números

SDK e NDK Soma de dois números

SDK e NDK

Soma de dois números

SDK e NDK Soma de dois números

SDK e NDK

Soma de dois números

SDK e NDK Soma de dois números

SDK e NDK

SDK e NDK

SDK e NDK

SDK e NDK

SDK e NDK

SDK e NDK

SDK e NDK

SDK e NDK

Conclusão

É a plataforma com maior previsão de crescimento

É a plataforma com maior previsão de crescimento

É um excelente ambiente de desenvolvimento

É um excelente ambiente de desenvolvimento

A Loja virtual ajuda a popularizar as aplicações

A

Loja virtual ajuda a popularizar as aplicações

Por ser aberto abre possibilidades que não seriam possiveis em outros

Por ser aberto abre possibilidades que não seriam possiveis em outros

 

sistemas

O ambiente é produtivo tanto para desenvolvedores da aplicações

O

ambiente é produtivo tanto para desenvolvedores da aplicações

proprietárias e livres

A portabilidade evita que desenvolvedores percam tempo adaptando

A

portabilidade evita que desenvolvedores percam tempo adaptando

programas

Dúvidas?

Arquitetura básica