Você está na página 1de 113

Introduo ao Desenvolvimento Android

Quem somos?

Jos Alexandre Macedo


Mestrando em Informtica (Sistemas Distribudos + Mobile + Multimdia)

Guilherme Meira
Graduando de Engenharia da Computao

Android na Ufes

cultura

Mudana de

J no existem barreiras de lugar e tempo para se conectar a internet...

Situaes onde a internet acessada no celular

Nmeros desse mercado

Nmeros desse mercado

Nmeros desse mercado


+ 1.3 milho ativaes dirias

E no Brasil?

Android alcanou 61% do mercado


Fonte: http://g1.globo.com/tecnologia/noticia/2012/03/vendas-de-smartphones-no-brasil-crescem-179-em-2011-diz-pesquisa.html

Oportunidades

Outras reas quentes...

LEMBRE-SE No porque os dispositivos so pequenos que os projetos so 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!


Programao em Windows, Linux e Mac

Android vai alm dos smartphones e tablets...

Google lana culos com Android

Android vai alm dos smartphones e tablets...

Se voc desenvolve para Android voc desenvolve para Google TV!

Android vai alm dos smartphones e tablets...

Sony SmartWatch o relgio Android da Sony

Android vai alm dos smartphones e tablets...

Google quer Android nos eletrodomsticos

Sim...

A Google quer dominar o mundo!

Breve histrico

Breve histrico
Outubro de 2003

Android, Inc. foi fundada em Palo Alto, California por Andy Rubin, Rich Miner, Nick Sears e Chris White

Breve histrico
Google adquire Android Inc.
Julho de 2005

Breve histrico
A Open Handset Alliance formada

5 de Novembro de 2007

Breve histrico
Android Beta SDK disponibilizado

12 de Novembro de 2007

Breve histrico
Lanado o primeiro smatphone com Android 1.0, o HTC Dream (G1)

23 de Setembro de 2008

Breve histrico
A comeou a perdio!

Arquitetura

Arquitetura

Processo de desenvolvimento Java tradicional


Compilao
Interpretao

.java

.class

JVM

Processo de desenvolvimento Android


Compilao Compilao dex

.java

.class
apkbuilder

.dex

Interpretao

Dalvik Virtual Machine

.apk

Componentes de Aplicao

Componentes de Aplicao

Activity
Responsvel por definir a

interface e os comportamentos
de uma tela da aplicao

Componentes de Aplicao

Service
So os processos de fundo sem interface com usurio. Podem ser locais ou remotos

Componentes de Aplicao

Content Provider
Forma de expor os dados da aplicao

sem expor suas implementaes

Componentes de Aplicao

Intents
Permite criar propsitos. Ex.: abrir uma activity, iniciar um servio, exibir uma pgina web ou fazer uma ligao

Interface com Usurio

Interface com Usurio


Declaradas em arquivos XML

Views so os blocos de
construo bsicos
A combinao de views forma um

group view

Ciclo de Vida

Ferramentas necessrias

Android Developer Tools (ADT) Plugin Eclipse

SDK

Ferramentas necessrias

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 aplicao gerada

Estrutura Bsica dos Projeto

Activities, Services, Content Providers e outras classes Java

Fornece referncias

para os recursos
disponveis no projeto

Gerada e mantida automaticamente

NO MEXA!

Armazena arquivos brutos Permite subdiretrios No gera ids

Um recurso um arquivo ou valor utilizado pela aplicao

A pasta drawable-* armazena imagens

A values contm valores que podem ser usados em vrios locais.


Outros arquivos vlidos so para arrays, colors, dimensions e styles

A layout contm os arquivos de interface com usurio

Define os contedos e comportamentos das aplicaes

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 Preos

Qual produto
compensa mais?

600ml R$ 4,75

360ml

R$ 3,20

Estrutura do Projeto
main.xml 1 Opo R$ X 2 Opo R$ mL Comparar
Transio com Intents
AndroidManifest.xml

resultado.xml

mL

A X opo est compensando mais porque est Y% mais barata!

string.xml

Criar Modificar

MainActivity.java

ResultActivity.java

Modificar main.xml

1 Passo

Criar resultado.xml

2 Passo

Modificar MainActivity.java

3 Passo

Crie mais 4 variveis com nomes quantidadeOp1, precoOp2, quantidadeOp2, botaoComparacao da mesma forma e usando o id correto

Modificar MainActivity.java
Mtodo compararPrecos()

3 Passo

Criar ResultActivity.java

4 Passo

Recupere o TextView do resultado usando o mtodo findViewById e altere o texto com o resultado

Modificar AndroidManifest.xml

5 Passo

Resultado Final

Desenvolvendo mais!
Criando nosso 2 aplicativo

Tweets

Leitor de

Estrutura da 1 Parte
main.xml
Digite um termo de busca:

lista_tweets.xml ltimos Tweets


termoBusca

Mensagem 1
Buscar Tweets

Criar Modificar

Mensagem 2 Mensagem 3

string.xml

LeitorTweetsActivity.java

TweetsActivity.java
AndroidManifest.xml

Tweet.java

TweetConnection.java

Criando um novo projeto

Antes do passo-a-passo...
Vamos baixar as classes Tweet e TweetConnection

Tweet.java

TweetConnection.java

bit.ly/leitortwitter

Modificar main.xml

1 Passo

Criar lista_tweets.xml
LinearLayout (Vertical)

2 Passo

ListView

Modificar LeitorTweetsActivity.java

3 Passo

Criar TweetsActivity.java

4 Passo

Modificar AndroidManifest.xml

5 Passo

Resultado Final

Evoluindo o Leitor de Tweets!


Aprendendo a criar

listas com itens personalizados e conhecendo o poder dos intents

Estrutura da 2 Parte
item_lista.xml Foto Mensagem 1
Data

TweetAdapter.java

Compartilhar a mensagem ao tocar nela


Criar

TweetsActivity.java

Modificar

Criar item_lista.xml

1 Passo

ImageView

LinearLayout (Vertical)

Criar TweetAdapter.java

2 Passo

continua...

Criar TweetAdapter.java

2 Passo

Modificar TweetsActivity.java

3 Passo

Modificar TweetsActivity.java

3 Passo

Resultado Final

Acabei meu aplicativo...

Como publicar no

Google Play?

Publicando no Google Play

1 Registro no Google Play $25


2 3
Assinar o aplicativo com uma chave privada Realizar upload do apk e de imagens do aplicativo

Android s alegria?

Android s alegria?

No!

Android s alegria?

Fragmentao hoje o maior problema


Fonte: http://developer.android.com/resources/dashboard/platform-versions.html

Android s alegria?

Fragmentao hoje o maior problema


Fonte: http://developer.android.com/resources/dashboard/platform-versions.html

Quero mais!

Como Fao?

Android Training
Vdeos Guias Exemplos Cdigo Documentao Tutoriais Artigos

Blog

Passagem obrigatria!

Grupos de Discusso
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

Livros

Dvidas?

Obrigado!
josealexandremacedo@gmail.com guimeira@guimeira.com

@jamacedo @gtmeira jamacedo.com