introdução ao desenvolvimento android
DESCRIPTION
Minicurso apresentado na Jornada de Atualização em Computação, Elétrica e Eletrônica (JACEE) da Universidade Federal do Espírito Santo (UFES). São apresentados o mercado para Android, o histórico da plataforma, a sua arquitetura, as diferenças do processo de desenvolvimento Java e Android e os componentes básicos de aplicação. Também são descritos os passos para criação de dois aplicativos do início ao fim.TRANSCRIPT
Introdução ao Desenvolvimento Android
Quem somos?
José Alexandre Macedo Guilherme Meira
Mestrando em Informática
(Sistemas Distribuídos + Mobile + Multimídia)
Graduando de Engenharia da Computação
Android na Ufes
cultura
Mudança de
Já não existem barreiras de lugar e tempo para se conectar a internet...
Situações onde a internet é
acessada no celular
Números desse mercado
Números desse mercado
Números desse mercado
+ 1.3 milhão ativações diárias
E no Brasil?
Fonte: http://g1.globo.com/tecnologia/noticia/2012/03/vendas-de-smartphones-no-brasil-crescem-179-em-2011-diz-pesquisa.html
Android alcançou 61% do mercado
Oportunidades
Outras áreas quentes...
LEMBRE-SE
Não é porque os
dispositivos são
pequenos que os
projetos são simples!
E o trampo?
Vamos aproveitar essa onda!
Sem preconceito com os
concorrentes, mas...
...Android tem suas
vantagens!
Dispositivos para todos os bolsos
...Android tem suas
vantagens!
...Android tem suas
vantagens!
Desenvolvimento em Java
...Android tem suas
vantagens!
Programação em Windows, Linux e Mac
Android vai além dos
smartphones e tablets...
Google lança óculos com Android
Android vai além dos
smartphones e tablets...
Se você desenvolve para Android você desenvolve para Google TV!
Android vai além dos
smartphones e tablets...
Sony SmartWatch o relógio Android da Sony
Android vai além dos
smartphones e tablets...
Google quer Android nos eletrodomésticos
Sim...
A Google quer dominar o
mundo!
Breve histórico
Breve histórico Outubro de 2003
Android, Inc. foi fundada em Palo Alto, California por
Andy Rubin, Rich Miner, Nick Sears e Chris White
Breve histórico
Julho de 2005
Google adquire Android Inc.
Breve histórico
5 de Novembro de 2007
A Open Handset Alliance é formada
Breve histórico
12 de Novembro de 2007
Android Beta SDK é
disponibilizado
Breve histórico
23 de Setembro de 2008
Lançado o primeiro smatphone com
Android 1.0, o HTC
Dream (G1)
Breve histórico
Aí começou a perdição!
Arquitetura
Arquitetura
Processo de
desenvolvimento Java
tradicional
.java .class JVM
Compilação Interpretação
Processo de
desenvolvimento Android
.dex
Dalvik Virtual
Machine
.java .class
Compilação Compilação dex
.apk
Interpretação
apkbuilder
Componentes de Aplicação
Componentes de Aplicação
Activity
Responsável por definir a
interface e os comportamentos
de uma tela da aplicação
Componentes de Aplicação
Service
São os processos de fundo sem
interface com usuário. Podem
ser locais ou remotos
Componentes de Aplicação
Content Provider
Forma de expor os dados da aplicação
sem expor suas implementações
Componentes de Aplicação
Intents
Permite criar propósitos. Ex.: abrir uma
activity, iniciar um serviço, exibir uma
página web ou fazer uma ligação
Interface com Usuário
Interface com Usuário
Views são os blocos de
construção básicos
A combinação de views forma um
group view
Declaradas em arquivos XML
Ciclo de Vida
Ferramentas necessárias
SDK Android Developer Tools (ADT)
Plugin Eclipse
Ferramentas necessárias
Android Virtual Devices
Logcat
O melhor amigo do
desenvolvedor!
Logcat
O melhor amigo do desenvolvedor Android!
#partiuEclipse
Criando um novo projeto
Criando um novo projeto
Criando um novo projeto
Criando um novo projeto
Criando um novo projeto
Dissecando
a aplicação gerada
Estrutura Básica
dos Projeto
Activities, Services, Content Providers e outras
classes Java
Fornece referências
para os recursos disponíveis no
projeto
Gerada e mantida automaticamente
NÃO MEXA!
Armazena arquivos brutos
Permite
subdiretórios
Não gera ids
Um recurso é um arquivo ou valor
utilizado pela aplicação
A pasta drawable-* armazena imagens
A values contém valores que podem
ser usados em vários locais.
Outros arquivos válidos são para arrays, colors,
dimensions e styles
A layout contém os arquivos de interface
com usuário
Define os conteúdos e comportamentos
das aplicações
Antes de executar o
projetos precisamos
de um virtual
device (AVD)
Localizem e cliquem no ícone do ADV Manager
Em seguida cliquem em “New...”
Para criarmos um novo emulador
Vamos configurar nosso novo emulador
Agora é só apertar o play!
Criando nosso 1º aplicativo
Comparador de
Preços
compensa mais?
600ml 360ml
R$ 4,75 R$ 3,20
Qual produto
Estrutura do Projeto main.xml resultado.xml
Transição
com Intents
1ª Opção
R$ mL
2ª Opção
R$ mL
X
Comparar
A Xª opção está compensando mais
porque está Y%
mais barata!
MainActivity.java ResultActivity.java
string.xml
AndroidManifest.xml
Criar
Modificar
1º Passo Modificar main.xml
2º Passo Criar resultado.xml
3º Passo Modificar MainActivity.java
Crie mais 4 variáveis com nomes quantidadeOp1, precoOp2,
quantidadeOp2, botaoComparacao da mesma forma e usando o id correto
3º Passo Modificar MainActivity.java
Método compararPrecos()
4º Passo Criar ResultActivity.java
Recupere o TextView do resultado usando o método findViewById e altere o texto com o resultado
5º Passo Modificar AndroidManifest.xml
Resultado Final
Criando nosso 2º aplicativo
Leitor de
Desenvolvendo mais!
Tweets
Estrutura da 1ª Parte
main.xml lista_tweets.xml
Digite um termo de busca:
Buscar Tweets
Últimos Tweets ‘termoBusca’
LeitorTweetsActivity.java TweetsActivity.java
Mensagem 1
Mensagem 2
Mensagem 3
Tweet.java TweetConnection.java
string.xml
AndroidManifest.xml
Criar
Modificar
Criando um novo projeto
Antes do passo-a-passo...
Vamos baixar as classes
Tweet e TweetConnection
Tweet.java TweetConnection.java
bit.ly/leitortwitter
1º Passo Modificar main.xml
2º Passo Criar lista_tweets.xml
LinearLayout (Vertical)
ListView
3º Passo Modificar LeitorTweetsActivity.java
4º Passo Criar TweetsActivity.java
5º Passo Modificar AndroidManifest.xml
Resultado Final
Evoluindo o Leitor de Tweets!
Aprendendo a criar
listas com itens
personalizados e
conhecendo o poder
dos intents
Estrutura da 2ª Parte
TweetsActivity.java
item_lista.xml
Mensagem 1
Data
Foto
TweetAdapter.java
Compartilhar a mensagem ao tocar nela
Criar
Modificar
1º Passo Criar item_lista.xml
ImageView LinearLayout
(Vertical)
2º Passo Criar TweetAdapter.java
continua...
2º Passo Criar TweetAdapter.java
3º Passo Modificar TweetsActivity.java
3º Passo Modificar TweetsActivity.java
Resultado Final
Acabei meu aplicativo...
Como publicar no
Google Play?
1º Registro no Google Play $25
2º Assinar o aplicativo com uma
chave privada
3º Realizar upload do apk e de
imagens do aplicativo
Publicando no Google Play
Android é só alegria?
Android é só alegria?
Não!
Android é só alegria?
Fonte: http://developer.android.com/resources/dashboard/platform-versions.html
Fragmentação é hoje o maior problema
Android é só alegria?
Fonte: http://developer.android.com/resources/dashboard/platform-versions.html
Fragmentação é hoje o maior problema
Quero mais!
Como Faço?
Passagem
obrigatória!
Guias Documentação
Android
Training
Exemplos
Código
Vídeos Blog
Artigos
Tutoriais
http://groups.google.com/group/android-developers
http://groups.google.com/group/android-discuss
http://groups.google.com/
group/android-ndk
http://stackoverflow.com/
questions/tagged/android
Grupos de Discussão
Livros
Dúvidas?