Sei sulla pagina 1di 20

Desenvolvimento de

Aplicaes Android
Mdulo 11 App Design

Luiz Fernando Duarte Jr.


http://www.luiztools.com.br

Cronograma do Mdulo

Anlise de Requisitos
Construindo sua Aplicao
Guidelines
Seu primeiro deploy

Anlise de Requisitos

Lembre-se: hardware limitado

Memria
Processador
Disco
Alto custo associado com transferncias
Conexes de dados no-confiveis
Bateria

Anlise de Requisitos

Lembre-se: usabilidade limitada

Baixas resolues
Teclados no to prticos
Touchscreen capacitivo
Anlise das Apps Nativas
Simplicidade vs riqueza de detalhes

Anlise de Requisitos

Thin ou fat client?


Lembre-se dos mashups
Aplicaes intercambiveis
Dependncia de Internet
Minimize os custos ao usurio

Construindo sua Aplicao

Esboo de Design:

Rabisque as telas
Aponte as transies
Defina o fluxo de trabalho
Pense nas possibilidades de orientao
Mantenha simples

Construindo sua Aplicao

Arquitetura de Aplicao:

API Level
APIs adicionais
Bibliotecas externas
Pblico-alvo
Acesso dados locais
Acesso dados externos

Construindo sua Aplicao

Filosofia de Design:

Pequenos incrementos
Sempre funcionando
Cdigo refatorado
Mantenha simples

Guidelines: Usabilidade

Troca de Orientao
Voc pensou nisso?
Permitir ou no?
<activity android:name=".Teste"
android:screenOrientation="portrait"
android:label="@string/app_name">
ScrollView permite scrolling vertical de

tela, o que muito til em landscape

Guidelines: Usabilidade

Alert Padro:
Toast.makeText(teste).show();

Dialog Padro:
New

AlertDialog.Builder(this).setMessage(teste
).setPositiveButton(Ok, null).show();

Guidelines: Usabilidade

Menu (via cdigo ou XML)


Public boolean

onCreateOptionsMenu(Menu menu){
Super.onCreateOptionsMenu(menu);
menu.add(1,1,1,Item 1);
menu.add(1,2,2,Item 2);
}

(idGrupo, idItem, Ordem, Texto)

Guidelines: Usabilidade

Menu
Public boolean

onOptionsItemSelected(MenuItem item){
Int id = item.getItemId();
If(id == 1){ // do something
return true
}else {return
super.onOptionsItemSelected(item);}
}

Guidelines:Performance

Seja Responsivo:
App deve responder a qualquer ao do

usurio dentro de 5 segundos


Notificaes do sistema devem encerrar
em 10 segundos
Servios e threads podem garantir isso
Caso contrrio, dilogo de aplicao noresponsiva

Guidelines: Interface

Evite aninhamento desnecessrio;


Evite componentes desnecessrios
(no use mais de 80)
Mantenha menos de 10 layouts de
profundidade
Use os controles padres pela
familiaridade dos usurios

Guidelines: Organizao

Respeite a estrutura de pastas


Use Orientao Objetos
Separe lgica de aplicao de regra de
negcio
Crie uma Activity para cada tela do
sistema

Guidelines: Organizao

Mltiplas Activities:
Intent intent = new Intent(MyActivity.this,

NewActivity.class);
startActivity(intent);
Colocar no Manifesto para a aplicao
enxergar a nova atividade
pilha de Activities
Constantes Intent.something para Intent
Filters
finish();

Guidelines: Banco de Dados

Jamais armazenar recursos no banco,


somente as URLs dos mesmos
Todas tabelas devem ter uma chave
auto-incremental como PK
(principalmente por causa dos Content
Providers)

Deploying

Exportando APK:
Bin
Export -> Android -> Android App

Cronograma do Curso

Introduo ao Mercado Mobile


Introduo plataforma Android
App Development
App Design
Acesso Dados
Deploy

Dvidas

http://www.luiztools.com.br

Potrebbero piacerti anche