You are on page 1of 27

PROPOSTA DE UM PADRO DE PROJETO PARA

ANDROID UTILIZANDO A WEB


Aluno: Pedro Paulo S. Freitas

Orientador: Ricardo Augusto Rabelo

Sumrio

Introduo
Motivao e Justificativa
Trabalhos relacionados
Plataforma Android
Estudos de Interface
Padres de Projeto
Paradigmas de Programao e Testes
Proposta de um novo Padro

Introduo
Computao Ubqua
Computao ciente de contexto
Padro de Projeto e Anlise de Interface

Motivao
Potencial turstico da cidade de Ouro
Preto.
- Primeira cidade brasileira a ser declarada
Patrimnio Histrico e Cultural da Humanidade.
- Atrativos tursticos (igrejas, museus, palco de
inmeros eventos).

Justificativa
Cenrio atual da Computao Ubqua.
- Aumento de celulares com grandes capacidades
de processamento.
- Aumento das tecnologias de redes sem fio.

Trabalhos Relacioados
Hirata (2009)
Hirata (2008)

Plataforma Android
Android (Google)
Interface
XML

Instanciar elementos em tempo de execuo

XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a TextView" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content
public class ImageListActivity extends ListActivity {
@Override
android:onClick="onBackClick
protected void onCreate(Bundle savedInstanceState) {
android:text="Hello, I am a Button" />
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onBackClick(View v) {
//ao do boto
}
}

Instanciar elementos em tempo de


execuo
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a TextView" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
public class ImageListActivity extends ListActivity {
android:layout_height="wrap_content
@Override
android:text="Hello, I am a Button" />
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//ao do boto
}
});
}

Estudo de Interface
Interface Simples
Interface com abas
Interface contextual

Padro de Projeto
Definio
De acordo com Gamma: padres de projetos so
descries de objetos e classes comunicantes que
precisam ser personalizadas para resolver um
problema geral de projeto em um contexto
particular

Padro de Projeto
Elementos essenciais

Nome do padro
Problema
Soluo
Consequncias

Padro de Projeto
Aplicao para dispositivos mveis
Proposto o um padro de projeto para a rea da
computao ubqua

Paradigmas de Programao
Situao 1 Sncrono
Situao 2 Assncrono

Situao 3 Assncrono com feedback

Resultado dos Testes


Conexo HTTP
Intenet velocidade 1 mb
Arquivo de 39,3 kb

Resultado dos Testes

Resultado dos Testes

Situao 1

Situao 2

Situao 3

Mdia

2,975

0,022

0,016

Varincia

0,293

6,627

2,795

Proposta de Padro
Nome
CloudDownloader

Problema
Objetivo, fazer download de uma imagem e fazer
vinculo desta a um texto, podendo ser colocado
vrios conjuntos (imagem + texto) na tela.

Proposta de Padro
Soluo

Proposta de Padro
Consequncias
Vantagem caso haja uma demora no tempo de
resposta de uma atividade, esta eliminada.
Desvantagem este padro fechado, ou seja s
funciona para o sistema operacional Android, no
funcionando nos outros sistemas tradicionais.

Proposta de Padro
Aplicao utilizando o padro

Trabalhos Futuros
Outras plataformas

Perguntas???

Aluno: Pedro Paulo S. Freitas


Orientador: Ricardo Augusto Rabelo

You might also like