computação móvel: perspectivas, oportunidades e desenvolvimento

Post on 18-Nov-2014

1.157 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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

top related