Você está na página 1de 31

Android

Um Projeto da Open Handset Alliance

14/10/2009 USF Campinas - Sistemas Operacionais II 1


Grupo
Gustavo Costa de Freitas 004200600084
Leandro Marques 004200600220
Rafael dos Santos Orágio 004200600212

14/10/2009 USF Campinas - Sistemas Operacionais II 2


Resumo
• Com o aumento do uso de dispositivos móveis, muitas
empresas começaram a investir em tecnologias móveis. Com
todo o investimento, muitos avanços foram vistos e o mesmo
aconteceu com o Android.

• O Android é uma plataforma completa para dispositivos


móveis, que facilita o desenvolvimento de aplicações e o
entendimento de seu funcionamento.
14/10/2009 USF Campinas - Sistemas Operacionais II 3
Tópicos
• O que é o Android? • Histórico
• História • O Mercado
• Arquitetura • Prós x Contras
• Características • Questões
• SDK (Standard Development • Referências Bibliográficas
Kit)

14/10/2009 USF Campinas - Sistemas Operacionais II 4


O que é?
• Uma pilha completa de componentes de Software:
• Sistema Operacional
• Middleware
• Aplicações chave
• Open Source (Sim, é Open Source!)

14/10/2009 USF Campinas - Sistemas Operacionais II 5


História
• Primeiras especulações surgem em meados de 2005
• O Google compra a Android Inc.
• Surgem especulações sobre o lançamento de um novo
produto do Google
• Google Phone?
• Novembro de 2007
• A Open Handset Alliance

14/10/2009 USF Campinas - Sistemas Operacionais II 6


Arquitetura
Fig. 1 – Arquitetura lógica
em camadas do
Android

Fig. 1 – Arquitetura em camadas


14/10/2009 USF Campinas - Sistemas Operacionais II 7
Características
• Interface Gráfica
• Kernel
• Modificações no kernel 2.6 do Linux
• Processos
• Segurança
• Desempenho
• Rede/Comunicação
• Virtual Machine
14/10/2009 USF Campinas - Sistemas Operacionais II 8
Interface Gráfica
• Interface baseada em View e ViewGroups
• O que são as Views?
• Características das Views
• Hierarquia das Views
• Widgets (Botões, text fields, etc)

14/10/2009 USF Campinas - Sistemas Operacionais II 9


Kernel
• Baseado no kernel Linux 2.6
• Abstração entre o hardware e a pilha de aplicação do Android
• Principais diferenças:
• Wakelocks
• Lowmem killer
• Biblioteca C customizada, codecs, engine de browser
(Webkit), ambiente gráfico e gerenciador de pacotes
• O desenvolver não possuí acesso direto

14/10/2009 USF Campinas - Sistemas Operacionais II 10


Modificações no kernel 2.6 do Linux
• IPC Binder
• AIDL(Android Interface Description Language)
• Biblioteca padrão C Bionic
• Wakelock(Gerenciamento de energia)

14/10/2009 USF Campinas - Sistemas Operacionais II 11


IPC Binder (Comunicação Inter Processo)

14/10/2009 USF Campinas - Sistemas Operacionais II 12


Processos
• Implementação parecida com o Linux
• Multiprocessos
• IPC (Comunicação Inter-processos)
• Maioria das implementações é feita em Threads (Java
Threads)
• O Lowmem killer
• Cada aplicação é executada em um processo

14/10/2009 USF Campinas - Sistemas Operacionais II 13


Processos
Ciclo da aplicação

14/10/2009 USF Campinas - Sistemas Operacionais II 14


Segurança
• Cada aplicação é executada em um processo
• Aplicações não possuem acesso para efetuar operações que
impactem outros processos (Ex.: Manter um dispositivo
sempre ligado)
• Aplicações assinadas
• Garantia de autenticidade

14/10/2009 USF Campinas - Sistemas Operacionais II 15


Segurança
• Definições de permissão declaradas no arquivo
"AndroidManifest.xml”

<manifest
xmlns:android="http://schemas.android.com
/apk/res/android" package="com.android.app.myapp" >
<uses-permission
android:name="android.permission.RECEIVE_SMS" />
</manifest>

14/10/2009 USF Campinas - Sistemas Operacionais II 16


Segurança
• Algumas vulnerabilidades descobertas (Buffer overflow que
permitiam a execução de código remotamente) :
• http://www.securityfocus.com/bid/28005
• http://www.securityfocus.com/bid/31946

Correção rápida = Menos tempo para exploração

14/10/2009 USF Campinas - Sistemas Operacionais II 17


Desempenho
• Apresenta bom desempenho (Bibliotecas
customizadas e otimizadas)
• Executa as aplicações virtualizadas
• Para otimizar a performance das aplicações, há
diversas padrões de desenvolvimentos
recomendados.
• Implementado sobre a arquitetura ARM.
14/10/2009 USF Campinas - Sistemas Operacionais II 18
Rede/Comunicação
• Wi-fi
• Bluetooth v2.0
• 3G WCDMA (1700/2100 Mhz)
• Quad-band GSM (850/900/1800/1900 Mhz)
• GPS

14/10/2009 USF Campinas - Sistemas Operacionais II 19


Virtual Machine (Dalvík)
• O que é?
• Não é uma máquina virtual Java!
• Como funciona?
• Multi-threads
• Garbage Collector
• Esforços para suportar Python e Ruby

14/10/2009 USF Campinas - Sistemas Operacionais II 20


SDK(Standard Development Kit)
• O que é?
• Quanto custa?
• Ferramentas (Desenvolvimento e Debug)
• Compatibilidade entre as versões
• IDEs e Emuladores
• Vasta documentação

14/10/2009 USF Campinas - Sistemas Operacionais II 21


SDK(Standard Development Kit)
• Frameworks de aplicação (Alguns dos vários frameworks):
• Localização
• Telefonia
• Notificação Map myMap1 = new HashMap();
HashMap myMap2 = new HashMap();

14/10/2009 USF Campinas - Sistemas Operacionais II 22


Prós x Contras
• Prós
• Gratuito, multi-plataforma, mantido por um consórcio de
empresas, documentações, kits de desenvolvimento,
comunidades e agilidade na correção de bugs.
• Contras
• Ainda não permite a instalação de aplicações no cartão de
memória. [Java Magazine / ed.69 6° ano]

14/10/2009 USF Campinas - Sistemas Operacionais II 23


Hello World !!!
package com.android.helloandroid;
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("Hello, Android");
setContentView(tv);
}
USF Campinas - Sistemas Operacionais II 24
}
As aplicações já existentes
• Android Scan: Encontre preços online.
• Beetaun: Rede social baseada em localização
• BioWaller: Gerenciador de senhas com criptografia forte.

• Muitas outras já foram desenvolvidas (PDF).


• Inúmeros projetos para o futuro.

14/10/2009 USF Campinas - Sistemas Operacionais II 25


O Mercado
• T-Mobile G1: Primeiro smartphone capaz de rodar o Android.
• Terra Tecnologia: HTC Magic é primeiro Android à venda no
Brasil (18 de setembro de 2009)
• Hoje o Android está presente em aproximadamente 5% dos
celulares.
• Previsto para ser o segundo sistema móvel do mercado até
2012.

14/10/2009 USF Campinas - Sistemas Operacionais II 26


Teste feito pela revista Época

• Vídeo (http://www.youtube.com/watch?v=3_eHMiURDHw)

14/10/2009 USF Campinas - Sistemas Operacionais II 27


Referências Bibliográficas
• http://developer.android.com/
• http://www.openhandsetalliance.com
• http://code.google.com/intl/pt-BR/android/
• http://forum.portalandroid.org

14/10/2009 USF Campinas - Sistemas Operacionais II 28


Questões
• Quais os motivos que a Sun tem para se preocupar com o
Android?
• Você acha que o Google pode dominar o mercado com a
iniciativa do Android?
• Qual a principal vantagem do Android sobre as outras
plataformas mobile existentes no mercado?
• Em qual arquitetura de processador é possível executar o
Android?

14/10/2009 USF Campinas - Sistemas Operacionais II 29


s?
id a
v
Dú ??

14/10/2009 USF Campinas - Sistemas Operacionais II 30


! !
d o
ig a
b r
O

14/10/2009 USF Campinas - Sistemas Operacionais II 31

Você também pode gostar