Sobre o Colméia:
Grupo de pesquisa em Software
e Hardware Livre.
Software Livre não
é só Linux!
Assuntos que serão abordados
●
Android é Software Livre?
●
Arquitetura Android
●
Maquina Virtual Dalvik
●
Evolução do Android até os dias de hoje
●
Novidades no ICS (Ice Cream Sandwich)
●
Novidades recentes com o Android
●
Como fazer um aplicativo de Sucesso
ANDROID
Plataforma para dispositivos movéis
●
Baseado em Linux
●
Ferramentas de desenvolvimento
●
Linguagem mais usada: JAVA
●
Maquina virtual Dalvik
●
Recursos gráficos otimizados
●
Principais fabricantes:
- Samsung
- HTC
- Motorola
○ Rica interatividade
Android é Linux
- Muito otimizado para Smartphone
.
- Versão : 1.5 - Kernel : 2.6.27.
- Versão : 1.6 - Kernel : 2.6.29.
- Versão : 2.0 - Kernel : 2.6.29.
- Versão : 2.2 - Kernel : 2.6.32.
- Versão : 2.3 - Kernel : 2.6.35.
- Versão : 3.0 - Kernel : 2.6.36.
- Versão : 4.0 - Kernel : 3.0.1.
Kernel 3.3 do Linux incorpora núcleo
do Android
Agora drivers escritos para o Linux poderão
funcionar nativamente no Android, e vice-versa,
tornando a vida de todos muito mais fácil e
permitindo que os usuários tenham acesso a
mais recursos.
Software Livre
Liberdade de executar, copiar, alterar e re-distribuir
“Não é cerveja grátis” - Richard Stallman
O que é Copyleft?
Software Livre X Android
O código fonte do android é publico!
Licença predominante: GPL e Apache
Software Livre X Android
Entendendo ainda mais as camadas de
licenças
Arquitetura Android
Funcionamento interno da plataforma.
Aplicativos
Framework
Bibliotecas
Kernel
À grosso modo, o Android
é uma máquina vir-tual
Java rodando sobre o kernel do Linux
(com pequenas
mudanças)
Maquina Virtual Dalvik
- É uma maquina virtual criada por Dan Borntein e
alguns engenheiros do Google.
- Nome devido a uma vila de pescadores na
Islândia.
- Máquina Virtual Java (ou quase)
Maquina Virtual Dalvik
- O intuito de "Reinventar a Roda" era melhorar o
gerenciamento de processos e o isolamento de
threads.
- Requer pouca memória.
- Multiplas Instâncias (Isolamento de threads)
Comparação .jar x .apk
.apk -> .dex -> dey -> DVM ->
ANDROID
Comparação .jar x .apk
Code
Arquivo JAR
descompactado
Arquivo JAR
compactado
Arquivo APK
descompactado
Bibliotecas
Comuns
21.445.320
(100%)
10.662.048
(50%)
10.311.972
(48%)
App Web
Browser
470,312 (100%)
232.065 (49%)
209.248 (44%)
App Relógio
Alarme
119.200 (100%)
61.658 (52%)
53.020 (44%)
Evolução do Android
Evolucao do Android
Versão 1.5 - CupCake
- Abre rapidamente
aplicativo da camera e
captura de imagem e
filmagem.
- Fazer upload de vídeos
para o YouTube e
Picasa.
- Copiar e Colar.
Evolucao do Android
Versão 1.6 - Donut
- Busca por voz.
- Busca por gestos.
- Grande melhoria no
text-to-speech.
- O novo Android Market
para aplicativos.
Evolucao do Android
Versão 2.1 - Eclair
- Velocidade de hardware
otimizada.
- Live wallpapers.
- Teclados virtuais
melhorados.
- Mais opções de
tamanhos e resolução de
telas.
Evolução do Android
Versão 2.2 - Froyo
- Suporte ao Flash 10.1
completo.
- Processamento até 5x
mais rápido.
- Hotspot para até 8
aparelhos.
- Possiblidade de salvar
aplicativos no cartão SD.
- Múltiplas linguagens para
teclados.
Evolucao do Android
Versão 2.3 - Gingerbread
- Suporte à NFC.
- Teclado padrão multitouch.
- Melhorias no controle de
aplicações rodando em
background.
- Gerenciador de Downloads.
Evolucao do Android
Versão 2.3 - Gingerbread
- Suporte a câmera frontal e
vídeo conferência nativo.
- Suporte a giroscópio.
Android 4.0 ICS
(Ice Cream Sandwich)
Android 4.0 ICS
(Ice Cream Sandwich)
Video
Evolucao do Android
Versão 4.0 - Ice Cream Sandwich
Tela
Tecnologia: Super Amoled
HD
Resolução: 720 x 1280
Tamanho: 4.65"
Ice Cream Sandwich
Galaxy Nexus ou Galaxy X
●
●
●
4.65" Super
Amoled HD
16 GB
Dual Core de 1.2
GHz
Ice Cream Sandwich
- Foi lançado em 19 de Outubro de 2011.
- Lançado com intuito de unificar tablets e
smartphones, acabando com fragmentação.
- Fortes modificações no visual.
Ice Cream Sandwich
APIs 15
- Notificações acessadas sem o desbloqueio de tela
- Reconhecimento facial
- Google+ com Messenger e Hangout
- Gerenciador de dados nativo
- Finalização de aplicativos mais fácil
Ice Cream Sandwich
APIs 15
- Navegação na Internet com até 16 abas
- Android Beam
- Busca offline no Gmail
- Screenshot da tela
- Ditado
Notificações acessadas sem o
desbloqueio de tela
- Notificações em tempo real
são mostradas sem a
necessidade de o smatphone
esta desbloqueado.
Gerenciador de dados nativo
Um ótimo recurso
para internet 3G por
exemplo.
COMO CONSTRUIR UM
APLICATIVO DE
QUALIDADE?
COMO CONSTRUIR UM
APLICATIVO DE QUALIDADE?
➵ Foco no Usuário.
"Usuário é uma ferramenta de
Debug!"
A cada 6,1 segundos surge um
novo usuário!
● Google Play ja tem mais de 450 mil aplicativos
● 700 mil aparelhos Android são ativados
Como fazer seu aplicativo
ter sucesso?
Como fazer seu aplicativo ter
sucesso?
✔ Fazer algo que o usuário não tinha em mente que
precisava.
✔ Fazer com que o usuário tenha uma experiência de
qualidade.
Como?
➵ Compatibilidade
➵ Economia
➵ Conveniência
Compatibilidade:
●
Telas
●
Configurações
Compatibilidade:
● Telas:
➵ Use <Supports-screens>
➵ Preste atenção no espaço ao invés de pixels.
➵ Não use Absolut-Layout
Compatibilidade:
➵ Mobile = celular + tablet + ...
Cuidado com as diferenças! Por exemplo:
- rotação
- tablets não têm telefonia
- etc...
Compatibilidade:
➵ Use o melhor de cada dispositivo, permita que o
usuário configure a aplicação.
➵ Permita que o usuário use o seu aplicativo offline!
Econômia
➵ Economize bateria, processador e rede.
➵ Delete o que você não precisa.
➵ Default razoável.
Econômia
➵ Use BroadCast Receivers para saber sobre uma
mudança de conectividade.
Conveniência
➵ Permita que o usuário configure o seu aplicativo
( Settings )
Conveniência
➵ Torne seu aplicativo intuitivo: demonstre ao
invés de explicar.
➵ Fácil de aprender x Prático de usar
Conveniência
➵ Use ícones que transmitem ideias com clareza.
Conveniência
➵ Use ícones que transmitem ideias com clareza.
➵ Mostre o tipo de teclado apropriado para o campo.
( android: imputType = " ... ")
Conveniência
➵ Use ícones que transmitem ideias com clareza.
➵ Mostre o tipo de teclado apropriado para o campo.
( android: inputType = " ... ")
➵ Sempre permita que o usuário desfaça uma
operação (inclusive de rede)
Conveniência
➵ Não impeça o usuário de usar algo só porque
outra coisa não funciona.
Conveniência
➵ Não impeça o usuário de usar algo só porque
outra coisa não funciona.
➵ Economize espaço na tela.
(Todo componente que está na tela deve fazer algo importante)
Conveniência
➵ Não impeça o usuário de usar algo só porque
outra coisa não funciona.
➵ Economize espaço na tela.
(Todo componente que está na tela deve fazer algo importante)
➵ Espaço é tudo para uma tela pequena.
(No máximo acima na tela deve ter uma barra dizendo qual é
a
tela que o usuário se encontra)
Conveniência
➵ Tenha sempre um layout para Portrait e
LandScape.
(PELO MENOS FICAR IGUAL AO VIRAR)
* Exeção em games.
Conveniência
➵ Usuário querem clareza.
(Muita informação em uso eficiente do espaço)
Conveniência
➵ Usuário querem clareza.
(Muita informação em uso eficiente do espaço)
➵ Contrate um designer
(Interface clara, bonita, intuitiva)
Seja esperto!
➵ Colete dados da aplicação. Para verificar erros.
Seja esperto!
➵ Colete dados da aplicação. Para verificar erros.
➵ Grave as compras feitas do usuário.
Perguntas?
Contato:
✔ Wellington Fuck Rutes:
[email protected]
✔ Weskley Migliorini: [email protected]
UDESC-CCT / Colméia
Curiosidades!
Hugo Barra
- Brasileiro - Minas Gerais
- Graduação de Engenharia Eletrica na
UFMG.
- Diretor de gerenciamento de projetos do
Android.
Sony smartWatch
1,3'. Compativel apenas com Xperia S e Arc S
Asus Pad Phone
Samsung Galaxy Beam
Geladeira integrada com Android
Microondas integrado com Android
Contato:
✔ Wellington Fuck Rutes:
[email protected]
✔ Weskley Migliorini: [email protected]
UDESC-CCT / Colméia
Download

Evolucao do Android - WWW2