2. O Mercado Móvel
• 1,5bi de aparelhos de TV;
• 1bi de pessoas com acesso a internet;
• 3bi de celulares.
– Brasil são mais de 170mi de celulares (6º)
3. Empresas vs. Usuários
• Empresas
– Mobilidade, flexibilidade e segurança.
• Usuários
– Visual, navegação e recursos(câmera, GPS,
música, wi-fi, etc.)
5. A Solução: Android
• Uma Plataforma de desenvolvimento para
dispositivos móveis baseada no Linux, um
ambiente ousado, poderoso e flexível;
• A linguagem de programação usada é
Java e banco de dados SQLite.
6. Android não é só Google!
• Open Handset Alliance
– tem o intuito de padronizar uma plataforma
livre, para atender as expectativas do mercado
móvel.
7. Android
• Customização e Integração
– Alterar recursos nativos como agenda de
contatos;
– Integrar recursos nativos com seus aplicativos.
8. Android
• O S.O é multitarefa e gerencia memória e
os processos.
– Aplicações podem rodar em segundo plano
sem atrapalhar a outra (atender uma ligação
enquanto navega na internet).
• Suporte a gráficos 3D baseados na
especificação 1.0 da OpenGL ES.
– Jogos com gráficos excelentes.
10. Android Developer Challange
• No lançamento da primeira versão do SDK
do Android(2008), o Google lançou um
concurso que deu 10 milhões de dólares
em prêmios;
• Huawei
– http://www.androidlab.com.br/
– 20 mil reais + uma viagem para China
11. Android Market
• Loja de aplicativos com esquema de
ranking;
• Mais de 100 mil aplicativos;
12. Android Market
• Custa U$ 25,00 para o desenvolvedor e
registrar;
• 70% da renda do aplicativo é do
desenvolvedor;
• Já está disponível para o Brasil!!!!!!
16. Desenvolvimento
• Google e os IDEs
– Pode ser desenvolvido em qualquer IDE
(teoricamente);
– O Google adota o Eclipse e da todo o suporte
para desenvolver nesse IDE;
– ADT (Android Development Tools) que
compila, roda o aplicativo no emulador (ou no
celular), gera o .apk, simula ligação e envio de
sms.
17. Desenvolvimento
• Maquina virtual
– Não tem JVM e sim Maquina Virtual Dalvik
(otimizada para dispositivos móveis);
– Bytecode (.class) após compilado é convertido
para .dex (Dalvik Executable);
– Os arquivos .dex junto com outros recursos
como imagens, fontes, videos, etc. são
compactados e dão origem a um arquivo .apk
(Android Package File);
– Eclipse se encarrega de tudo.
18. O Ambiente
• Android SDK
– Pré-requisitos:
• Windows XP (32bits) ou Vista/7 (32 ou 64bits);
• Mac OS X 1.5.8 ou superior (somente x86);
• Linux (testado no Ubuntu);
– Ambiente usado:
• Eclipse 3.4 (Ganymede) ou 3.5(Galileo);
• JDK 5 ou superior;
• Android SDK r07(http://developer.android.com/sdk/)
19. Android SDK
• Estrutura de pastas básica:
– tools(ferramentas e o emulador)
– add-ons(pacotes externos)
– plataforms(versões da plataforma)
• Colocar na variável de ambiente a pasta
tools
26. Android SDK
• AVD (Android Virtual Device)
– Simular com perfeição um celular real:
plataforma, resolução da tela e outras
configurações.
– Duas possibilidades:
• Android-8 (“seco”)
• Google Inc.: Google APIs:8
37. Android e o Eclipse
• ADT
– Android Development Tools
• Plugin para o Eclipse
• Download em: http://developer.android.com/sdk/eclipse-adt.html
– Após o download, vá em:
• Help>Install new Software
• Botão Add e depois Archive
• Reinicie o Eclipse
45. Primeiro Exemplo
• Estrutura
– src: pasta que contém as classes Java
– gen: R.java (é gerada automaticamente e
permite acessar qualquer recurso do projeto
como arquivos e imagens). Nunca deve ser
alterada manualmente (o Eclipse a atualiza);
46. Primeiro Exemplo
• Estrutura
– assets: arquivos opcionais (fontes);
– res: recursos da aplicação(cada recurso tem
referência no arquivo R.java)
• drawable: fica as imagens (h, l ou mdpi são os
tipos de resolução)
• layout: arquivos XML de layout (construir telas)
• values: arquivos XML para internacionalização
56. Conceitos importantes
• A classe Activity
– Similar a JFrame do Swing;
– Representa basicamente uma tela da aplicação;
– Controla o estado e a passagem de parâmetros
entre telas;
– Dentro de uma tela, existem elementos visuais:
Views.
57. Conceitos Importantes
• A classe View
– Tem a finalidade de desenhar algo na tela
(botão, texto, checkbox, lista, imagem, etc.)