O Sistema Operacional Android
description
Transcript of O Sistema Operacional Android
Um Projeto da Open Handset Alliance
14/10/2009 1USF Campinas - Sistemas Operacionais II
Android
Grupo
Gustavo Costa de Freitas 004200600084Leandro Marques 004200600220Rafael dos Santos Orágio 004200600212
14/10/2009 2USF Campinas - Sistemas Operacionais II
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 3USF Campinas - Sistemas Operacionais II
Tópicos• O que é o Android?• História• Arquitetura• Características• SDK (Standard Development
Kit)
14/10/2009 4USF Campinas - Sistemas Operacionais II
• Histórico• O Mercado• Prós x Contras• Questões• Referências Bibliográficas
O que é?• Uma pilha completa de componentes de Software:• Sistema Operacional• Middleware• Aplicações chave
• Open Source (Sim, é Open Source!)
14/10/2009 5USF Campinas - Sistemas Operacionais II
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 6USF Campinas - Sistemas Operacionais II
Arquitetura
Fig. 1 – Arquitetura lógica em camadas do Android
14/10/2009 7USF Campinas - Sistemas Operacionais II
Fig. 1 – Arquitetura em camadas
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 8USF Campinas - Sistemas Operacionais II
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 9USF Campinas - Sistemas Operacionais II
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 10USF Campinas - Sistemas Operacionais II
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 11USF Campinas - Sistemas Operacionais II
IPC Binder (Comunicação Inter Processo)
14/10/2009 12USF Campinas - Sistemas Operacionais II
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 13USF Campinas - Sistemas Operacionais II
Processos Ciclo da aplicação
14/10/2009 14USF Campinas - Sistemas Operacionais II
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 15USF Campinas - Sistemas Operacionais II
Segurança• Definições de permissão declaradas no arquivo
"AndroidManifest.xml”
14/10/2009 16USF Campinas - Sistemas Operacionais II
<manifest xmlns:android="http://schemas.android.com /apk/res/android" package="com.android.app.myapp" > <uses-permission android:name="android.permission.RECEIVE_SMS" /> </manifest>
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 17USF Campinas - Sistemas Operacionais II
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 18USF Campinas - Sistemas Operacionais II
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 19USF Campinas - Sistemas Operacionais II
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 20USF Campinas - Sistemas Operacionais II
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 21USF Campinas - Sistemas Operacionais II
SDK(Standard Development Kit)• Frameworks de aplicação (Alguns dos vários frameworks):• Localização• Telefonia• Notificação
14/10/2009 22USF Campinas - Sistemas Operacionais II
Map myMap1 = new HashMap(); HashMap myMap2 = new HashMap();
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 23USF Campinas - Sistemas Operacionais II
Hello World !!!
24USF Campinas - Sistemas Operacionais II
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); }
}
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 25USF Campinas - Sistemas Operacionais II
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 26USF Campinas - Sistemas Operacionais II
Teste feito pela revista Época
• Vídeo (http://www.youtube.com/watch?v=3_eHMiURDHw)
14/10/2009 27USF Campinas - Sistemas Operacionais II
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 28USF Campinas - Sistemas Operacionais II
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 29USF Campinas - Sistemas Operacionais II
14/10/2009 30USF Campinas - Sistemas Operacionais II
Dúvidas?
??
14/10/2009 31USF Campinas - Sistemas Operacionais II
Obrigado!!