O documento introduz o desenvolvimento para Android, discutindo porque programar para a plataforma, seu crescimento, arquitetura e como começar com um projeto simples "Hello World". É apresentado o ambiente de desenvolvimento e componentes como Activity e Service.
1. UNIVERSIDADE FEDERAL DE VIÇOSA
CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS
DEPARTAMENTO DE INFORMÁTICA
Introdução à programação para
Android
Giorgio Prímola Ferreira Guimarães Torres
giorgio.torres@ufv.br
Viçosa, Agosto/2011
3. Introdução
• Por quê programar para Android?
• Sistema Operacional móvel que mais cresce no mundo
• Simplicidade
• Facilidade de aprendizado
• Dispositivos com alto poder de processamento
• Aumento no uso de dispositivos móveis inteligentes
(Smartphones, tablets, etc...)
• Recursos interessantes: WiFi, GPS, Acelerômetro, etc...
torres.giorgio@gmail.com
4. Introdução
• Android em números
• Tablets
Vendas 2T10 3T10 4T10 ∆Tri Market
Milhões Share
Apple iOS 3,3 4,2 7,3 73,8% 75,3%
Android 0,1 0,1 2,1 2000,0% 21,6%
Outros 0,1 0,1 0,3 200,0% 3,1%
Total 3,5 4,4 9,7 120,5% 100%
*Mercado Mundial
torres.giorgio@gmail.com
5. Introdução
• Smartphones
Milhões 2009 2010 Market Share Crescimento
2010
Android 12,0 69,6 23,4% 479,0%
Symbian 80,0 109,9 36,9% 37,4%
iPhone iOS 20,3 46,8 15,7% 130,0%
RIM 34,5 47,5 16,0% 37,5%
MS Windows 14,7 12,2 4,1% (7,5%)
Mobile
Linux 6,4 5,2 1,7% (18,3%)
Outros 3,4 5,7 1,9% 70,0%
Total 172,3 296,9 100% 72,3%
* Vendas Mundiais para usuários finais
torres.giorgio@gmail.com
8. Ambiente de Programação
• Configuração do ambiente
• Baixar pacotes de API
• Criar AVD (Android Virtual Device) com API baixada
• Instalar ADT plugin no Eclipse
Fonte: Repositório ou Arquivo
• Linkar o ADT com o Eclipse
Windows > Preferences > Android > Browse... (Local do SDK)
torres.giorgio@gmail.com
11. Activity
• Responsável por uma “janela” na qual o
conteúdo é definido pelo seu layout ou alguma
View
• Pode ganhar o foco da tela
• Interage com o usuário
torres.giorgio@gmail.com
12. Activity
• Ciclo de vida
• onCreate();
• onStart();
• onResume();
• onPause();
• onStop();
• onDestroy();
• Para mais informações:
http://developer.android.com/reference/android/app/Activity.html
torres.giorgio@gmail.com
13. Service
• Oferece funcionalidades para outras
aplicações;
• Pode ser uma aplicação que ficará ativa por
muito tempo, rodando em background.
• Exemplos: Audio, Sensor, WiFi, Layout Inflater...
• Importante: Alguns serviços precisam de
permissão para serem usados. Ex.: WiFi
• Mais informações:
http://developer.android.com/reference/android/app/Service.html
torres.giorgio@gmail.com
15. Começando
• Criando um projeto Android
• New > Other > Android Project ...
• Nome do Projeto: HelloWorldAndroid
• Build Target: Android 2.1
• Especifica a plataforma a partir da qual o aplicativo será
distribuído
• Application Name: Hello Android
• Especifica o nome do aplicativo. Aparecerá junto ao
ícone no menu de aplicativos do dispositivo
torres.giorgio@gmail.com
16. Começando
• Package Name: com.exemplo.main
• Especifica o nome do pacote onde a Activity principal será
criada. Deve ser um namespace Java.
• Create Activity: HelloAndroidWorld
• Nome da Activity principal
• Min SDK Version: 7
• Especifica o nível mínimo da API requerida para a
aplicação. Deve ser um número inteiro entre 1 e 13 (API
Android 3.2) – ultima versão do Android: Honeycomb
• Finish!
torres.giorgio@gmail.com
26. Parte 2
Construindo um aplicativo completo
torres.giorgio@gmail.com
27. The Album Cover Notes App
• Adaptar listas com linhas complexas
• Manusear SQLiteDatabase
• Eventos ao selecionar uma linha da lista
• Criar menu
• “Chamar” outra Activity
• Algumas Views de formulário
• Multi-idiomas
torres.giorgio@gmail.com svn project
30. Mais materiais (todos em pt-br)...
• Forum Portal Android
• Android Brasil Email Group
• Android Brasil
• Blog Eu Android
• AndroidBlog
• BlogdoAndroid
• Apresentação do Júlio - Slideshare
torres.giorgio@gmail.com