introdução ao desenvolvimento android

113
Introdução ao Desenvolvimento Android

Upload: jose-alexandre-macedo

Post on 18-Nov-2014

2.136 views

Category:

Technology


3 download

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

Page 1: Introdução ao Desenvolvimento Android

Introdução ao Desenvolvimento Android

Page 2: 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

Page 3: Introdução ao Desenvolvimento Android

Android na Ufes

Page 4: Introdução ao Desenvolvimento Android

cultura

Mudança de

Page 5: Introdução ao Desenvolvimento Android

Já não existem barreiras de lugar e tempo para se conectar a internet...

Page 6: Introdução ao Desenvolvimento Android

Situações onde a internet é

acessada no celular

Page 7: Introdução ao Desenvolvimento Android

Números desse mercado

Page 8: Introdução ao Desenvolvimento Android

Números desse mercado

Page 9: Introdução ao Desenvolvimento Android

Números desse mercado

+ 1.3 milhão ativações diárias

Page 10: Introdução ao Desenvolvimento Android

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

Page 11: Introdução ao Desenvolvimento Android

Oportunidades

Page 12: Introdução ao Desenvolvimento Android

Outras áreas quentes...

Page 13: Introdução ao Desenvolvimento Android

LEMBRE-SE

Não é porque os

dispositivos são

pequenos que os

projetos são simples!

Page 14: Introdução ao Desenvolvimento Android

E o trampo?

Page 15: Introdução ao Desenvolvimento Android

Vamos aproveitar essa onda!

Page 16: Introdução ao Desenvolvimento Android

Sem preconceito com os

concorrentes, mas...

Page 17: Introdução ao Desenvolvimento Android

...Android tem suas

vantagens!

Dispositivos para todos os bolsos

Page 18: Introdução ao Desenvolvimento Android

...Android tem suas

vantagens!

Page 19: Introdução ao Desenvolvimento Android

...Android tem suas

vantagens!

Desenvolvimento em Java

Page 20: Introdução ao Desenvolvimento Android

...Android tem suas

vantagens!

Programação em Windows, Linux e Mac

Page 21: Introdução ao Desenvolvimento Android

Android vai além dos

smartphones e tablets...

Google lança óculos com Android

Page 22: Introdução ao Desenvolvimento Android

Android vai além dos

smartphones e tablets...

Se você desenvolve para Android você desenvolve para Google TV!

Page 23: Introdução ao Desenvolvimento Android

Android vai além dos

smartphones e tablets...

Sony SmartWatch o relógio Android da Sony

Page 24: Introdução ao Desenvolvimento Android

Android vai além dos

smartphones e tablets...

Google quer Android nos eletrodomésticos

Page 25: Introdução ao Desenvolvimento Android

Sim...

A Google quer dominar o

mundo!

Page 26: Introdução ao Desenvolvimento Android

Breve histórico

Page 27: Introdução ao Desenvolvimento Android

Breve histórico Outubro de 2003

Android, Inc. foi fundada em Palo Alto, California por

Andy Rubin, Rich Miner, Nick Sears e Chris White

Page 28: Introdução ao Desenvolvimento Android

Breve histórico

Julho de 2005

Google adquire Android Inc.

Page 29: Introdução ao Desenvolvimento Android

Breve histórico

5 de Novembro de 2007

A Open Handset Alliance é formada

Page 30: Introdução ao Desenvolvimento Android

Breve histórico

12 de Novembro de 2007

Android Beta SDK é

disponibilizado

Page 31: Introdução ao Desenvolvimento Android

Breve histórico

23 de Setembro de 2008

Lançado o primeiro smatphone com

Android 1.0, o HTC

Dream (G1)

Page 32: Introdução ao Desenvolvimento Android

Breve histórico

Aí começou a perdição!

Page 33: Introdução ao Desenvolvimento Android

Arquitetura

Page 34: Introdução ao Desenvolvimento Android

Arquitetura

Page 35: Introdução ao Desenvolvimento Android

Processo de

desenvolvimento Java

tradicional

.java .class JVM

Compilação Interpretação

Page 36: Introdução ao Desenvolvimento Android

Processo de

desenvolvimento Android

.dex

Dalvik Virtual

Machine

.java .class

Compilação Compilação dex

.apk

Interpretação

apkbuilder

Page 37: Introdução ao Desenvolvimento Android

Componentes de Aplicação

Page 38: Introdução ao Desenvolvimento Android

Componentes de Aplicação

Activity

Responsável por definir a

interface e os comportamentos

de uma tela da aplicação

Page 39: Introdução ao Desenvolvimento Android

Componentes de Aplicação

Service

São os processos de fundo sem

interface com usuário. Podem

ser locais ou remotos

Page 40: Introdução ao Desenvolvimento Android

Componentes de Aplicação

Content Provider

Forma de expor os dados da aplicação

sem expor suas implementações

Page 41: Introdução ao Desenvolvimento Android

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

Page 42: Introdução ao Desenvolvimento Android

Interface com Usuário

Page 43: Introdução ao Desenvolvimento Android

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

Page 44: Introdução ao Desenvolvimento Android

Ciclo de Vida

Page 45: Introdução ao Desenvolvimento Android

Ferramentas necessárias

SDK Android Developer Tools (ADT)

Plugin Eclipse

Page 46: Introdução ao Desenvolvimento Android

Ferramentas necessárias

Android Virtual Devices

Page 47: Introdução ao Desenvolvimento Android

Logcat

O melhor amigo do

desenvolvedor!

Page 48: Introdução ao Desenvolvimento Android

Logcat

O melhor amigo do desenvolvedor Android!

Page 49: Introdução ao Desenvolvimento Android

#partiuEclipse

Page 50: Introdução ao Desenvolvimento Android

Criando um novo projeto

Page 51: Introdução ao Desenvolvimento Android

Criando um novo projeto

Page 52: Introdução ao Desenvolvimento Android

Criando um novo projeto

Page 53: Introdução ao Desenvolvimento Android

Criando um novo projeto

Page 54: Introdução ao Desenvolvimento Android

Criando um novo projeto

Page 55: Introdução ao Desenvolvimento Android

Dissecando

a aplicação gerada

Page 56: Introdução ao Desenvolvimento Android

Estrutura Básica

dos Projeto

Page 57: Introdução ao Desenvolvimento Android

Activities, Services, Content Providers e outras

classes Java

Page 58: Introdução ao Desenvolvimento Android
Page 59: Introdução ao Desenvolvimento Android

Fornece referências

para os recursos disponíveis no

projeto

Gerada e mantida automaticamente

NÃO MEXA!

Page 60: Introdução ao Desenvolvimento Android

Armazena arquivos brutos

Permite

subdiretórios

Não gera ids

Page 61: Introdução ao Desenvolvimento Android

Um recurso é um arquivo ou valor

utilizado pela aplicação

Page 62: Introdução ao Desenvolvimento Android

A pasta drawable-* armazena imagens

Page 63: Introdução ao Desenvolvimento Android

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

Page 64: Introdução ao Desenvolvimento Android
Page 65: Introdução ao Desenvolvimento Android

A layout contém os arquivos de interface

com usuário

Page 66: Introdução ao Desenvolvimento Android
Page 67: Introdução ao Desenvolvimento Android
Page 68: Introdução ao Desenvolvimento Android

Define os conteúdos e comportamentos

das aplicações

Page 69: Introdução ao Desenvolvimento Android
Page 70: Introdução ao Desenvolvimento Android

Antes de executar o

projetos precisamos

de um virtual

device (AVD)

Page 71: Introdução ao Desenvolvimento Android

Localizem e cliquem no ícone do ADV Manager

Em seguida cliquem em “New...”

Para criarmos um novo emulador

Page 72: Introdução ao Desenvolvimento Android

Vamos configurar nosso novo emulador

Page 73: Introdução ao Desenvolvimento Android

Agora é só apertar o play!

Page 74: Introdução ao Desenvolvimento Android

Criando nosso 1º aplicativo

Comparador de

Preços

Page 75: Introdução ao Desenvolvimento Android

compensa mais?

600ml 360ml

R$ 4,75 R$ 3,20

Qual produto

Page 76: Introdução ao Desenvolvimento Android

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

Page 77: Introdução ao Desenvolvimento Android

1º Passo Modificar main.xml

Page 78: Introdução ao Desenvolvimento Android

2º Passo Criar resultado.xml

Page 79: Introdução ao Desenvolvimento Android

3º Passo Modificar MainActivity.java

Crie mais 4 variáveis com nomes quantidadeOp1, precoOp2,

quantidadeOp2, botaoComparacao da mesma forma e usando o id correto

Page 80: Introdução ao Desenvolvimento Android

3º Passo Modificar MainActivity.java

Método compararPrecos()

Page 81: Introdução ao Desenvolvimento Android

4º Passo Criar ResultActivity.java

Recupere o TextView do resultado usando o método findViewById e altere o texto com o resultado

Page 82: Introdução ao Desenvolvimento Android

5º Passo Modificar AndroidManifest.xml

Page 83: Introdução ao Desenvolvimento Android

Resultado Final

Page 84: Introdução ao Desenvolvimento Android

Criando nosso 2º aplicativo

Leitor de

Desenvolvendo mais!

Tweets

Page 85: Introdução ao Desenvolvimento Android

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

Page 86: Introdução ao Desenvolvimento Android

Criando um novo projeto

Page 87: Introdução ao Desenvolvimento Android

Antes do passo-a-passo...

Vamos baixar as classes

Tweet e TweetConnection

Tweet.java TweetConnection.java

bit.ly/leitortwitter

Page 88: Introdução ao Desenvolvimento Android

1º Passo Modificar main.xml

Page 89: Introdução ao Desenvolvimento Android

2º Passo Criar lista_tweets.xml

LinearLayout (Vertical)

ListView

Page 90: Introdução ao Desenvolvimento Android

3º Passo Modificar LeitorTweetsActivity.java

Page 91: Introdução ao Desenvolvimento Android

4º Passo Criar TweetsActivity.java

Page 92: Introdução ao Desenvolvimento Android

5º Passo Modificar AndroidManifest.xml

Page 93: Introdução ao Desenvolvimento Android

Resultado Final

Page 94: Introdução ao Desenvolvimento Android

Evoluindo o Leitor de Tweets!

Aprendendo a criar

listas com itens

personalizados e

conhecendo o poder

dos intents

Page 95: Introdução ao Desenvolvimento Android

Estrutura da 2ª Parte

TweetsActivity.java

item_lista.xml

Mensagem 1

Data

Foto

TweetAdapter.java

Compartilhar a mensagem ao tocar nela

Criar

Modificar

Page 96: Introdução ao Desenvolvimento Android

1º Passo Criar item_lista.xml

ImageView LinearLayout

(Vertical)

Page 97: Introdução ao Desenvolvimento Android

2º Passo Criar TweetAdapter.java

continua...

Page 98: Introdução ao Desenvolvimento Android

2º Passo Criar TweetAdapter.java

Page 99: Introdução ao Desenvolvimento Android

3º Passo Modificar TweetsActivity.java

Page 100: Introdução ao Desenvolvimento Android

3º Passo Modificar TweetsActivity.java

Page 101: Introdução ao Desenvolvimento Android

Resultado Final

Page 102: Introdução ao Desenvolvimento Android

Acabei meu aplicativo...

Como publicar no

Google Play?

Page 103: Introdução ao Desenvolvimento Android

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

Page 104: Introdução ao Desenvolvimento Android

Android é só alegria?

Page 105: Introdução ao Desenvolvimento Android

Android é só alegria?

Não!

Page 106: Introdução ao Desenvolvimento Android

Android é só alegria?

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

Fragmentação é hoje o maior problema

Page 107: Introdução ao Desenvolvimento Android

Android é só alegria?

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

Fragmentação é hoje o maior problema

Page 108: Introdução ao Desenvolvimento Android

Quero mais!

Como Faço?

Page 109: Introdução ao Desenvolvimento Android

Passagem

obrigatória!

Guias Documentação

Android

Training

Exemplos

Código

Vídeos Blog

Artigos

Tutoriais

Page 110: Introdução ao Desenvolvimento Android

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

Page 111: Introdução ao Desenvolvimento Android

Livros

Page 112: Introdução ao Desenvolvimento Android

Dúvidas?

Page 113: Introdução ao Desenvolvimento Android

Obrigado!

jamacedo.com

@jamacedo

@gtmeira

[email protected]

[email protected]