Você está na página 1de 27

Agenda

ANDROID
Fundamentos
(Visão Geral, Configuração
da Computação
Curiosidades e do Ambiente
Móvel Ferramentas)
Fundamentos da
Computação
Móvel
Fundamentos da Computação Móvel
• Primeiramente... O que são Dispositivos Móveis?
✓Celulares, Smartphones, Tablets, Notebooks,
Sensores, etc...
✓Sistemas embarcados: dispositivo com hardware e
software(é um computador) projetados para
funções específicas.
✓Diferente dos computadores convencionais, são
limitados (processamento), geralmente são menos
complexos (arquitetura) e alimentados por
baterias.
Fundamentos da Computação Móvel
• O que vem a ser Móvel?... o que é
Mobilidade?
✓No contexto geral: Capacidade de se
deslocar ou ser deslocado de forma
fácil.
✓Na Computação Móvel: Capacidade de
provê aos usuários conectividade e
obtenção a dados através de
dispositivos com mobilidade.
Fundamentos da Computação Móvel
• A Mobilidade deve garantir 4
características:
1. Portabilidade

3.
2. Usabilidade
Funcionalidade

4. Conectividade
Fundamentos da Computação Móvel
1. Portabilidade:
✓É definida como a capacidade de ser
facilmente transportável.
✓Outras características importantes:
Tamanho e Peso do dispositivo e seus
acessórios
✓Evoluiu bastante durante os anos: 30 anos
atrás um computador portátil tinha 13 kg,
hoje existem modelos com 1 kg.
Fundamentos da Computação Móvel
2. Usabilidade:
✓Ser utilizável por tipos de pessoas
diferentes em diversos ambientes.
✓Aspectos de Interação entre o usuário e o
dispositivo.
✓Tamanho e resistência: alguns dispositivos
não são recomendados para crianças
✓Flexibilidade e Destreza: imaginem um
bombeiro com luvas usando um celular.
✓Conhecimento e Capacidade: o dispositivo
ser intuitivo.
Fundamentos da Computação Móvel
3. Funcionalidade:
✓Um dispositivo móvel deve provê inúmeras
funcionalidades, ou seja, ele terá múltiplas
aplicações em execução.
✓Existem dois tipos de aplicações:
➢Independentes: não precisam do intervenção do
usuário ou de interoperabilidade com outros
sistemas. (Exemplo: Relógio, Gerenciador de
Bateria)
➢Dependentes: para executar suas
funcionalidades, dependem de ações do usuário
ou se comunicar com sistemas externos.
(Exemplo: GPS, Jogos)
Fundamentos da Computação Móvel
4. Conectividade:
✓É definida como a comunicação entre pessoas ou
sistemas no dispositivo.
✓Transmitir e receber informações
(sincronização, tolerância a falha, integridade
da informação)
✓Dispositivos móveis possuem 3 tipos de
conectividade: Sempre Conectado, Parcialmente
Conectado e Nunca Conectado.
✓Deve estar preparada para a heterogeneidade
dos protocolos de comunicação: GPRS,
Bluetooth, HTTP
Introdução ao Android
Android
O que é o Android?
✓ Sistema Operacional ou Plataforma?
✓ Código Aberto para dispositivos móveis (https://source.android.com/)

Quem criou?
✓ Android Inc
✓ Google comprou em 2005

Quem Apoia?
✓ Open Handset Alliance (OHA)
✓ Conglomerado de +84 empresas (Google, Samsung, Motorolla, LG)
✓ http://www.openhandsetalliance.com/oha_members.html

Como ele é Licenciado?


✓ Licença Apache / MIT
✓ Desde os módulos de baixo nível até as bibliotecas nativas podem ser estendidas pelo
desenvolvedor.
Histórico do android
• Android Developer Challenge (ADC)
• Mais de 10 milhões em prêmios
• Fase 1: as 50 melhores apps recebiam U$ 25
mil
• Fase 2: as 20 melhores receberiam entre U$
100 e 275 mil
• Ainda não existia smartphone com Android,
todas as apps do campeonato rodaram em
emulador.
Histórico do android
• Em 2005, a Google compra a Android Inc;
• Em 2007, a OHA é anunciada e o código do Android é
oficialmente liberado.
• Em 2008, é lançado o SDK 1.0. No mesmo ano, é lançado o G1
pela HTC, o primeiro celular a rodar Android.
• Em 2009, o Android começa a ser disseminado no mercado
• Em 2010, o Android fica atrás apenas do Blackberry nas
vendas de smartphones
• Em 2011, o Android lidera o mercado de smartphones,
representando 56% dos usuários de dispositivos móveis
• Em 2012, o Android Market é renomeado para Google Play
• Em 2013, o Android supera o iPhone em quantidade de
aplicativos baixados (mais de 700.000)
Monetização
• Para publicar um app, deve ser pago U$
25,00 ao Google Play
• Os lucros gerados de um app, 70% são do
desenvolvedor, 30% para a Google.
Versões do android

Nome de doces por ordem alfabética!


Versões do android

A grande quantidade de versões representa a


evolução e melhorias do código (correção de bugs).
Mudanças significativas refletem nas variações
do nível da API.
Compatibilidade

O desenvolvedor precisa estar atento ao nível de


compatibilidade de dispositivos que sua aplicação terá.
http://developer.android.com/about/dashboards/index.html
Arquitetura do android
Arquitetura do android

Kernel do Linux
A herança do Linux traz benefícios ao Android,
como o aproveitamento de drivers de
dispositivos nativos, tais como os
gerenciadores de energia, memória e rede.
A Portabilidade e Segurança também são
outros exemplos.
Arquitetura do android

Bibliotecas Nativas
Cada biblioteca desta camada foi escrita em
C/C++ e consiste em uma pilha de frameworks
disponíveis para os desenvolvedores.
Arquitetura do android
Bibliotecas Nativas
• Surface Manager: gerencia e exibição de janelas na tela
• OpenGL: renderização de gráficos 2D e 3D
• SGL: Biblioteca gráfica de baixo nível
• Media Framework: codecs para gravação e exibição de diferentes
formatos de mídias.
• Freetype: renderização de fontes (caracteres) na tela
• SSL: suporte a OpenSSL. Provê protocolos SSL e TLS.
• SQLite: Base de dados relacional
• Webkit: Engine de renderização para páginas HTML (atualmente é o
Blink)
• lbic (Bionic): é a biblioteca padrão C reescrita sob nova licença
(Apache/MIT) e otimizada para dispositivos móveis.
Arquitetura do android

Android Runtime
Assim como o Java, o Android também executa código gerenciado. Ou
seja, todo o código escrito pelo desenvolvedor não é executado
diretamente no Hardware, mas sim em uma VM (Dalvik). Isso também
oferece a separação entre o código do desenvolvedor e o código baixo
nível que atua diretamente com o Hardware. Outro benefício é
garantir que os aplicativos desenvolvidos serão escritos quase que
100% em Java.
O Code Libraries é composto por uma coleção de classes do Java SE,
com algumas modificações. (AWT, Swing)
Arquitetura do android

Ou Kotlin ☺
Arquitetura do android

Application Framework
É uma pilha de ferramentas que facilita o
desenvolvimento de aplicações. Algumas
das funcionalidades: GPS, Wifi, Telefonia,
SMS, etc, que são encapsulados por seus
respectivos Managers.
Arquitetura do Android

Applications
É a camada que se encontram os aplicativos
destinados aos usuários finais. Podem vir pré-
instalados ou serem baixados da Google Play.
Um aplicativo desta natureza possui a extensão
.APK, que a grosso modo é composto por dois
elementos: (i) O executável dalvik, que é o
resultado do código fonte escrito pelo
desenvolvedor. (ii) Recursos da aplicação, que
podem ser arquivos de áudio e vídeo, XML para
internacionalização, entre outros.

Você também pode gostar