computação móvel: perspectivas, oportunidades e desenvolvimento
DESCRIPTION
Minicurso apresentado no II Composium da Universidade Federal de Itajubá (Unifei). Conheça nessa apresentação as perspectivas, oportunidades da área de computação móvel e aprenda a desenvolver aplicativos para Android.TRANSCRIPT
Computação Móvel:
Perspectivas, Oportunidades e
Desenvolvimento
José Alexandre Macedo jamacedo.com
Mestrando
Computação Móvel
Sistemas Colaborativos
Bacharel em Ciência da
Computação
Desenvolvedor
Java desde 2007
Articulista Mantenedor do grupo de estudos
Android
O que é essa tal de
computação móvel?
São sistemas cujas capacidades podem
ser utilizadas enquanto estão sendo movidos!
Tem gente
que ainda não
entendeu
muito bem...
Computação móvel se
popularizou porque temos
tecnologias com
+ recursos usabilidade
+ fácil desenvolver
preço acessível
Maior conectividade
Limites entre situações e espaços físicos ficam difusos...
Dados em qualquer lugar e a
qualquer momento
cultura...
Mudança de
Números desse mercado
Números desse mercado
Mercado Mobile é extremamente mutável!
Números desse mercado
Números desse mercado
Números desse mercado
Números desse mercado
+ 850.000 ativações
diárias
Fonte: http://googlemobile.blogspot.com.br/2012/02/androidmobile-world-congress-its-all.html
+ 300 milhões de dispositivos!
Números desse mercado
Quais são os
planos dos
desenvolvedores
para 2012?
E no Brasil?
Fonte: http://g1.globo.com/tecnologia/noticia/2012/03/vendas-de-smartphones-no-brasil-crescem-179-em-2011-diz-pesquisa.html
Vendas de smartphones crescem 179% em 2011
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...
Brasileiros criam app que
pode
revolucionar a vida de surdos
Novas Possibilidades!
Fonte: http://exame.abril.com.br/tecnologia/noticias/brasileiros-criam-app-que-pode-revolucionar-a-vida-de-surdos
Não é porque os
dispositivos são
pequenos que os
projetos são simples!
E o trampo?
Vamos aproveitar essa onda!
Agora, para nossa alegria...
Desenvolvimento
Android
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...
Epson lança
óculos com
Android
Android vai além dos
smartphones e tablets...
Se você desenvolve para Android pode
desenvolver 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
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
Debug com Logcat
O melhor amigo do desenvolvedor Android!
#partiuEclipse
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
Configuremos o
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
ComparadorPrecosApp.java
string.xml
AndroidManifest.xml
Criar
Modificar
1º Passo Modificar main.xml
2º Passo Criar resultado.xml
3º Passo Criar ComparadorPrecosApp.java
4º Passo Modificar MainActivity.java
4º Passo Modificar MainActivity.java
Método compararPrecos()
5º Passo Criar ResultActivity.java
4º 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
LeitorTweetsApp.java
Tweet.java TweetConnection.java
string.xml
AndroidManifest.xml
Criar
Modificar
Criando um novo projeto
Criando um novo projeto
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 Criar LeitorTweetsApp.java
4º Passo Modificar LeitorTweetsActivity.java
5º Passo Criar TweetsActivity.java
6º 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 Market
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?
Fonte: http://developer.android.com/resources/dashboard/platform-versions.html
Android é só alegria?
Não!
Fonte: http://developer.android.com/resources/dashboard/platform-versions.html
Fragmentação é 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?
Obrigado!
jamacedo.com
@jamacedo