O documento discute o sistema operacional Android, incluindo sua história, arquitetura, ferramentas de desenvolvimento e publicação de aplicativos. Aborda também tópicos como fragmentação de versões, ambientes de desenvolvimento e desafios como aplicativos maliciosos.
2. * Android e smartphones
* Fragmentação de versões do Android
* Ambiente de desenvolvimento
* Testes de aplicativos
* Publicando aplicativos
* Desenvolvimento
*
3. * O que é:
* Sistema operacional móvel, baseado em
Linux.
* Adquirido pela Google em 2005 e lançado em
2008.
* Desenvolvimento de aplicações é baseado
em Java / C++ / C / C# e Python.
* Curiosidade: possui 12 milhões de linhas de
código, divididas entre XML, C, Java e C++.
*
4. * Hoje o Android Market
possui mais de 200 mil
aplicativos disponíveis
* Em fevereiro a Google
abriu a web store para
facilitar a procura por
aplicativos no Android
Market
* Os percentuais mostram o crescimento em comparação ao mês
anterior à pesquisa (fevereiro)
*
5. Perspectivas para desenvolvedores
* O Market vende mais do que a App Store
(maior loja de aplicativos existente)
desde março
* Desde janeiro, é permitida a inclusão de
pagamentos dentro de aplicativos
* Projeção de lucro para desenvolvedores
sozinhos x empresas
* Oportunidade de trabalho com Android:
* Sites de free-lancers
* Projetos open source
* Empregos fixos: entre R$ 2000,00 para
desenvolvedores e R$ 8000,00 para
*
analistas
* Visibilidade
6. * Smartphones
* Marcos:
* Nov 2009 – Lançamento do Motorola Milestone
* Jun 2010 – Lançamento do Samsung Galaxy S
* Melhores smartphones atualmente (09/05/2011):
* HTC Thunderbolt 4G
* Motorola Atrix 4G
* HTC Inspire 4G
* T-Mobile G2x
* Google Nexus S 4G
*
* Curiosidade: o lucro da HTC triplicou no primeiro
trimestre de 2011 em função da demanda por
Androids. Já a Motorola estuda o desenvolvimento
de um mobile OS próprio
7. Escolhendo smartphone para iniciar a desenvolver
* Samsung Galaxy 5 – 2.1 (R$ 400,00)*
* Motorola MB502 – 2.1 (R$ 550,00)
* Sony Ericsson Xperia X8 – 2.1 (R$ 600,00)
*
8. Problemas do Market
* Aplicativos maliciosos – roubo de
informações
* Em março de 2011 foram
descobertos e removidos 52
aplicativos virais do Android
Market. Eles representavam
diversas ameaças aos
usuários, responsáveis pelos mais
de 50 mil downloads
(calculadora, xadrez, entre
outros)
*
* Falta de controle sobre o Market
* Iniciada a utilização do Google
remote kill, implementado desde
9. * Fragmentação em smartphones
* Fragmentação em smartphones e tablets
* Tentativas de diminuição da fragmentação
*
12. Tentativa de diminuição da
fragmentação
* Há a expectativa de diminuição da
fragmentação de Androids operando em
smartphones e tablets através da
liberação do 3.1 – Ice Cream
Sandwich, que será compatível com
ambas as plataformas
* Há uma negociação entre
*
fabricantes e
Google para que todos os novos
modelos de smartphone sejam
atualizados por pelo menos 18 meses
* Uma mudança recente da Google sobre
o Market, fez com que a partir de então
os aplicativos que não são compatíveis
com o aparelho que está fazendo a
busca, não sejam mostrados
13. * Baixando os SDKs
* Montando o ambiente de desenvolvimento
* Eclipse + ADT plugin (Google)
* Motodev studio for Android
*
19. Montando o ambiente de desenvolvimento – alternativa
1 – Baixar o plugin
diretamente no site da
Google
2 – Mesmo procedimento
anterior, porém
escolhendo o arquivo
localmente
Após a instalação, é necessário indicar qual SDK
*
deverá ser utilizado através do menu Window >
Preferences > Android
IMPORTANTE: é necessário verificar
periodicamente as atualizações, através do
menu Help > Check for Updates, ou através
do site da Google
20. * Motodev studio
* Gratuito
* Não há restrição a aparelhos da Motorola
* Principais diferenciais:
* App validator (permissões, e uso de código)
* Code snippets (adicionar facilmente códigos já
construídos)
* Application signing automático
* Suporta o Android NDK (desenvolvimento em C e C++)
* Screen capture de dispositivos emulados e físicos
* Tradutor de aplicativos nativo
*
31. * Passos para publicar um aplicativo:
* Enviando o .apk
* Enviar recursos para divulgação
* Descrever detalhes sobre a aplicação
* Opções de publicação
* Informações para contato a ser divulgada aos usuários
* Autorização ao Google
*
37. * Fundamentals / Introdução
* Os aplicativos de Android são instalados através de
um .apk
* A partir do momento em que é instalado, cada
aplicativo do Android tem sua sandbox (baseia-se
no conceito de multi-usuários do Linux)
* Cada processo recebe suas permissões específicas
* Cada processo executa dentro de uma VM
* Cada aplicação consegue acessar apenas o que foi
determinado através do manifest
*
40. * Activities
* Uma Activity é um componente da aplicação (uma
classe), que proverá uma tela com a qual o usuário poderá
interagir
* Geralmente o desenho ocupa a tela inteira, mas ela pode ser
diminuída para ser feito o efeito de flutuação sobre outras
telas já existentes
* Implementando métodos obrigatórios:
* onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(
)
* Intents:
* ACTION_VIEW
* ACTION_DIAL
* ACTION_EDIT
* ACTION_MAIN
*
41. * Definindo a tela que será exibida:
setContentView( String
codigoArquivoXML)
* Iniciando sub atividade:
startActivity(Intent nova)
* Capturando resultado de uma
atividade startActivityForResult() /
onActivityResult()
* Finalizando uma atividade: finish() /
finishActivity()
* Guardando o estado de uma Activity
– onSaveInstanceState() /
onRestoreInstanceState()
* Outros eventos importantes:
onCreateOptionsMenu, onKeyDown, on
MenuItemSelected, onTouchEvent, on
WindowFocusChanged
*
42. * Services
* São atividades que operam em background por
um longo tempo e não provêem interface para o
usuário
* É necessário declarar os Services, que a
aplicação poderá disparar, no manifest
* Pode ser executado, desacoplado, e capturado
futuramente
* onCreate(), onStartCommand(), onBind(), onUnbi
nd(), onRebind(), onDestroy()
*
46. * Security
* Nenhuma aplicação tem permissão para interferir em outros
processos, outras aplicações, ou informações confidenciais do
sistema
* Application signing
* Permissões
* Existem 115 diferentes tipos de permissões
* Exemplos:
SET_ALARM, RECORD_AUDIO, RECEIVE_SMS, REBOOT, INTERNET, FLASHLIG
HT, DEVICE_POWER, CAMERA, CALL_PHONE, BATTERY_STATS, etc
*
49. * Vídeo sobre ativações do Android: http://www.youtube.com/watch?v=fqFpq9WXbJo&feature=player_embedded#at=118
* Aplicativos pagos X gratuitos no Market: http://www.techzine.com.br/arquivo/android-market-supera-appstore-em-total-de-aplicativos-grtis/
* Levantamento atualizado sobre aplicativos do Market: http://www.distimo.com/appstores/app-store/19-Google_Android_Market
* Hello world Phython para Android: http://www.mestreandroid.com.br/desenvolvimento-python-para-android/
* Informações sobre o Android market: http://www.distimo.com/appstores/app-store/19-Google_Android_Market
* Qual plataforma gera mais lucro: http://livetouch.blogspot.com/2011/03/android-x-ios-qual-plataforma-gera-mais.html
* Início do pagamento dentro de apps: http://www.hardware.com.br/noticias/2011-01/app-1.html
* Lucro da HTC triplica por causa do Android: http://info.abril.com.br/noticias/mercado/lucro-da-htc-triplica-com-demanda-po-androids-08042011-
7.shl
* Queda da fragmentação do Android: http://www.blogdoandroid.com/2011/02/a-fragmentacao-do-android-caiu-mesmo/
* Ação da Google para frear a fragmentação do Android: http://www.eletronicoblog.pop.com.br/post/7240/chega-de-fragmentacao-android-podera-ser-o-
unico-para-todos-smartphones
* Google remote kill: http://tecnoblog.net/58868/aplicativos-maliciosos-do-android-market-serao-desativados-
remotamente/
* Nova web store: http://www.hardware.com.br/noticias/2011-05/novidades-android-market.html
* Tentativa de diminuição de fragmentação: http://www.eletronicoblog.pop.com.br/post/7240/chega-de-fragmentacao-android-podera-ser-o-
unico-para-todos-smartphones
* Anúncio do Ice Cream Sandwich 3.1 http://www.engadget.com/2011/05/10/google-announces-ice-cream-sadwich-for-q4-2011-for-
smartphones/
* Google obriga fabricantes a atualizar androids: http://www.gizmodo.com.br/conteudo/como-o-google-obrigara-fabricantes-a-atualizar-seus-novos-
androids/
* Melhora na fragmentação do Android: http://www.tekimobile.com/2011/03/android-ainda-e-muito-fragmentado-mas-esta-melhorando.html
* Vantagem do froyo: http://geekfiles.altervista.org/pt/android-dati-di-distribuzione-froyo-resta-in-vantaggio/
* Instalando o ambiente: http://developer.android.com/sdk/eclipse-adt.html#installing
* Motodev Studio: http://developer.motorola.com/docstools/motodevstudio/
* ADB: http://developer.android.com/guide/developing/tools/adb.html
* Desenvolvimento: http://developer.android.com/guide/topics/fundamentals.html
*
http://developer.android.com/guide/topics/fundamentals/activities.html
*
http://developer.android.com/guide/topics/fundamentals/services.html
* http://developer.android.com/guide/topics/ui/index.html
* http://developer.android.com/guide/topics/data/data-storage.html
http://developer.android.com/guide/topics/security/security.html
*
* http://developer.android.com/guide/topics/manifest/manifest-intro.html
* http://developer.android.com/guide/topics/appwidgets/index.html
http://developer.android.com/guide/developing/debugging/index.html