Académique Documents
Professionnel Documents
Culture Documents
GUAXUPÉ
2010
CENTRO UNIVERSITÁRIO DA FUNDAÇÃO EDUCACIONAL GUAXUPÉ
GUAXUPÉ
2010
DEDICATÓRIA
Aos meus amigos, pelo companheirismo que eles têm por mim, sempre dedicando seus
esforços para o meu bem.
1 INTRODUÇÃO ....................................................................................................12
1.1 Objetivo.................................................................................................................13
1.2 Estrutura do Trabalho............................................................................................13
2 TÉCNOLOGIAS E FERRAMENTAS .................................................................14
2.1 Java........................................................................................................................14
2.2 Android..................................................................................................................16
2.2.1 Máquina Virtual Dalvik.........................................................................................17
2.2.2 Android SDK.........................................................................................................18
2.2.3 Plataforma .............................................................................................................18
2.2.4 Android Virtual Device (AVD) ............................................................................19
2.2.5 Emulador Android ................................................................................................20
2.3 JUDE, Eclipse e SQLite........................................................................................21
3 DESENVOLVIMENTO DO PROTÓTIPO .........................................................22
3.1 Diagrama de Caso de Uso .....................................................................................22
3.2 Diagrama de Classes .............................................................................................24
3.3 Diagrama de Seqüência.........................................................................................26
4 CODIFICAÇÃO E EXECUÇÃO DO PROTÓTIPO ...........................................29
4.1.1 Instalação de plug-ins............................................................................................29
4.1.2 Criando o banco de dados da aplicação ................................................................30
4.2 Criando a aplicação ...............................................................................................31
4.2.1 Importando o banco de dados ...............................................................................31
4.3 Código Fonte.........................................................................................................33
4.3.1 A Classe R.............................................................................................................33
4.3.2 Menu Principal ......................................................................................................33
4.3.3 Inserção, Alteração, Exclusão e Busca de registros no banco de dados ...............34
4.3.4 Criação de uma lista para visualizar os dados cadastrados ...................................37
4.3.5 Adição de menus e eventos na tela .......................................................................37
4.3.6 Edição e Busca de Registros .................................................................................39
4.3.7 Protótipos de Telas................................................................................................40
5 CONSIDERAÇÕES FINAIS................................................................................43
6 BIBLIOGRAFIA ..................................................................................................44
12
1. INTRODUÇÃO
1.1. Objetivo
2. TECNOLOGIAS E FERRAMENTAS
2.1. Java
Fonte:
http://2.bp.blogspot.com/_p0hb9T_C6qw/R5CjE5gU_1I/AAAAAAAAABE/al_PjO_euno/s400/a+plataforma+ja
va.JPG (27/06/2010).
2.2. Android
Fonte: http://www.ibm.com/developerworks/br/library/os-Android-devel/fig02.gif
2.2.3 Plataforma
A configuração virtual de um celular Android foi criada a partir do SDK 1.5 para que
o emulador pudesse simular exatamente a configuração de um celular real, com a mesma
plataforma do sistema operacional, resolução de tela e todas as outras configurações.
A criação de uma configuração virtual é importante para se criar um ambiente de
desenvolvimento próximo ao de um celular real. Sendo assim, devem-se analisar quais APIs
utilizar e verificar se o celular que vamos testar é compatível com a versão testada em
desenvolvimento.
Deve-se ficar atento à qual API utilizar, pois se uma API muita recente for escolhida
na criação do aplicativo, a aplicação pode não funcionar em celulares que não tenham tal
plataforma instalada.
A figura a seguir mostra a tela para criação de um AVD:
20
Deve-se definir um nome para o AVD, qual API será utilizada, o tamanho do cartão
de memória, qual será o modelo interface e o hardware. Essas configurações são as mesmas
usadas por um aparelho real.
3. DESENVOLVIMENTO DO PROTÓTIPO
Para este trabalho, um protótipo será desenvolvido para a validação do mesmo. Neste
capítulo, todo o desenvolvimento da engenharia de software do projeto será descrito: casos de
uso, diagrama de classes e diagramas de seqüência.
Todo o processo de desenvolvimento vai se basear na seguinte proposta de descrição
do projeto:
“Uma loja de vendas deseja informar seu negócio. Para isso, os proprietários
solicitaram o desenvolvimento de um sistema que lhe forneça informações necessárias para
tomadas de decisão. O processo de funcionamento do SisVendasMobile pode ser descrito da
seguinte forma:
Quando o cliente vai efetuar a compra, é verificado se ele é cliente através de
smartphones que os funcionários usam para anotar os pedidos, caso não seja, ele é cadastrado
na hora, fornecendo seus dados. Esses dados serão utilizados para futuras consultas.
Os pedidos serão cadastrados e automaticamente salvos no banco de dados do
sistema. Nesses pedidos constará o código do pedido, nome do cliente, nome do funcionário,
data e valor total. Em cada pedido, os itens do pedido podem ser inclusos a qualquer hora,
desde que o pedido ainda esteja aberto. Conforme cada item for adicionado, o preço total do
produto será automaticamente alterado.
Quando o cliente pede para finalizar seu pedido, uma nota é gerada e caso o valor
total do seu pedido esteja acima de um valor estipulado pelo sistema, ele ganhará um
desconto.
Os proprietários definem uma quantidade mínima dos produtos em estoque. Abaixo
dessa quantidade mínima o próprio sistema emite um aviso comunicando que o produto está
em falta.
Os proprietários podem fazer consultas de clientes, funcionários, pedidos, produtos e
fornecedores. As consultas de clientes, funcionários, produtos e clientes são feitas pelo nome
e a consulta de pedido será feita pelo número do pedido. ”
Para a criação do projeto, será utilizada a IDE Eclipse, como já foi mencionado
acima. Nesse subitem, ilustra-se a maneira como deve ser feita configuração para que o
aplicativo possa executar corretamente.
Para a criação de projetos do tipo Android é necessário fazer a instalação de um plug-
in fornecido pelo Google. A instalação desse plug-in torna os testes no emulador mais fácil de
serem executados. É necessário fazer o download desse plug-in. Isso pode ser feito através do
site http://developer.android.com/sdk/eclipse-adt.html. Nesse projeto foi instalada a versão
ADT 0.9.9.
Depois de baixar o plug-in, basta iniciar o Eclipse, navegar até o menu Help > Install
New Software. Na janela de instalação deve-se clicar no botão Add, depois no botão Archive e
selecionar o arquivo ADT-versao.zip que foi baixado. Preencha o campo nome com um texto
que possa identificar a instalação. Assim, os plug-ins a serem instalados podem ser
visualizados na janela. Então é só selecionar e seguir em frente até a última tela, quando se
deve aceitar a licença e finalizar, iniciando a instalação. A figura 12 mostra a configuração do
site para instalar o plug-in. Na figura 13, são mostrados quais são os plug-ins disponíveis na
versão do ADT escolhida. Para fazer o download, é necessário selecioná-los, assim, a própria
IDE se conecta à Internet, baixando as informações necessárias e instalando da maneira
correta.
30
O banco de dados (BD) da aplicação será criado utilizando o software SQLite Expert
Personal 3, que é um software para criação de BD bem simples.
Para criar o BD, é necessário informar o local onde o arquivo será salvo, na linha
Database File, um apelido na linda Database Alias, a codificação, o tamanho da página e o
vácuo automático. Esse processo é demonstrado na figura 14.
31
Para criar o projeto, acesse o menu File > New Project > Android Project. Na tela de
adição do novo projeto deve-se especificar o nome do projeto, o local onde será salvo, a
Plataforma (API) utilizada, o nome do pacote de classes, o nome da Activity, e a versão do
SDK utilizado (deve ser a mesma configurada no AVD). Feito isso, deve-se ir ao menu File >
Run as > Android Application para a aplicação ser instalada no emulador.
Para importar o banco de dados criado com a ajuda do SQLite, deve-se navegar até o
menu Window > Open Perspective > DDMS
32
Na pasta src estão todas as classes Java do projeto. Na pasta gen, está a classa R.java.
Na pasta assets ficam os arquivos personalizados, com uma fonte customizada. Na pasta res
estão os recursos da aplicação. Dentro da pasta res estão as pastas drawable, com as imagens
usadas na aplicação, layout, com os arquivos para a construção das telas e values, que contem
arquivos para internacionalização da aplicação.
33
4.2.2.1 A Classe R
Antes de explicar como cada classe da aplicação funciona, é necessário falar sobre a
classe R.java, que será de grande ajuda para a construção do aplicativo. Ela é criada
automaticamente pelo plug-in do Eclipse e não deve ser alterada manualmente. Todas as
modificações necessárias são feitas quanto algum recurso do projeto é alterado. Esses
recursos, no caso do aplicativo proposto para esse trabalho, são arquivos eXtensible Markup
Language (XML), com as telas da aplicação. (LECHETA, 2010)
Na classe implementada para o menu principal, uma classe pública criada com o
nome “menuprincipal” e herda as funcionalidades de uma Activity (geralmente uma tela). São
criados três campos inteiros que recebem um inteiro como valor, para posteriormente ser feita
uma escolha, onde, dependendo do campo escolhido, será aberto um menu para clientes ou
produtos ou, então, sair da aplicação.
public class MenuPrincipal extends Activity {
…}
34
long id = inserir(values);
return id;
}
return count;
}
busca é feita de duas maneiras: uma buscando um único registro, em que um objeto do tipo
android.database.Cursor é retornado com os valores do registro desejado, e outra buscando
todos os registros, onde o mesmo objeto é retornado, mas com uma lista de todos os registros.
// Busca o cliente pelo id
public Cliente buscarCliente(long id) {
// select * from cliente where _id=?
Cursor c = db.query(true, NOME_TABELA, Cliente.colunas,
Clientes._ID + "=" + id, null, null, null, null, null);
if (c.getCount() > 0) {
// Posicinoa no primeiro elemento do cursor
c.moveToFirst();
Cliente cliente = new Cliente();
// Lê os dados
cliente.id = c.getLong(0);
cliente.nome = c.getString(1);
cliente.endereco = c.getString(2);
cliente.telefone = c.getString(3);
cliente.cpf = c.getString(4);
return cliente;
}
return null;
}
// Retorna uma lista com todos os clientes
public List<Cliente> listarClientes() {
Cursor c = getCursor();
} while (c.moveToNext());
}
return clientes;
}
37
Abaixo, segue o código que lista todos os cliente já cadastrados assim que a tela
inicial de clientes for chamada:
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
repositorio = new RepositorioCliente(this);
atualizarLista();
}
Depois que a explicação básica sobre como criar uma lista de clientes, será
exemplificado como criar um menu com opções para busca e edição, além de alguns eventos
de tela para a lista de clientes
38
Para criar um menu, basta seguir a mesma linha de raciocínio da criação do menu
principal, onde são criados dois campos que recebem valores inteiros, que serão usados para
um verificação. Caso um for escolhido, executará uma determinada ação, se o outro for
escolhido, outra ação será executada. Veja o trecho de código que mostra exatamente como
isso acontece:
...
protected static final int INSERIR_EDITAR = 1;
protected static final int BUSCAR = 2;
...
public boolean onMenuItemSelected(int featureId, MenuItem item) {
// Clicou no menu
switch (item.getItemId()) {
case INSERIR_EDITAR:
// Abre a tela com o formulário para adicionar
startActivityForResult(new Intent(this,
EditarCliente.class), INSERIR_EDITAR);
break;
case BUSCAR:
// Abre a tela para buscar o cliente pelo nome
startActivity(new Intent(this, BuscarCliente.class));
break;
}
return true;
}
id = extras.getLong(Clientes._ID);
if (id != null) {
// é uma edição, busca o cliente...
Cliente c = buscarCliente(id);
//if( c!=null){
campoNome.setText(c.nome);
campoEndereco.setText(c.endereco);
campoTelefone.setText(c.telefone);
campoCpf.setText(c.cpf);
//}
}
Para a busca de clientes, usa-se a classe a classe BuscarCarro. Essa classe não traz de
nenhum retorno no que diz respeito a parâmetros. Ela simplesmente executa uma busca no
banco de dados para encontrar o cliente pelo seu nome. Se o carro for encontrado, os campos
da tela são preenchidos com as informações restantes. Caso não encontre, uma mensagem de
alerta é exibida na tela.
40
Nessa seção do trabalho, todas as telas no aplicativo serão apresentadas. Cada tela
dela foi criada através de um código XML, com comandos para inserção de campos de textos
e textos simples
Na figura 18, é mostrada a tela do menu principal
Figura 18 – Menu Principal
Na figura 19, a tela inicial de clientes é mostrada. Quando essa tela é chamada, uma
lista com os clientes já cadastrados é mostrada. Também são exibidos os menus Inserir
Cliente e Buscar Cliente assim que o botão menu do emulador é pressionado.
41
5. CONSIDERAÇÕES FINAIS
Com o crescente número de celulares sendo vendidos a cada ano e com as novas
tecnologias que estão surgindo, conclui-se que esse mercado de aplicações para dispositivos
móveis ainda é um mercado em plena expansão e com grande potencial lucrativo,
principalmente com softwares que facilitem a vida dos milhões de usuários espalhados pelo
mundo.
O trabalho apresenta um estudo sobre as tecnologias empregadas no
desenvolvimento do protótipo além de apresentar um breve estudo sobre o Sistema
Operacional Android, sistema em que a aplicação foi instalada. Além da construção de um
pequeno aplicativo de vendas, que foi o tema proposto para desenvolvimento da aplicação.
Também são apresentadas as ferramentas utilizadas para o desenvolvimento da
aplicação, desde a elaboração do projeto, utilizando a UML, até a fase de codificação usando
a IDE Eclipse e testes no emulador. Sendo todas essas ferramentas muito úteis e necessárias
ao desenvolvedor, possuindo a vantagem de serem gratuitas.
A escolha do Sistema Operacional Android para o protótipo se deu pelo grande
aumento de consumidores de aparelhos com esse sistema. O sistema Android é open-source
(código-livre) e também baseado em Linux, o que permite que qual pessoa possa fazer
alterações em seu código, visando melhorias.
A codificação das classes do projeto foi feita em Java, uma linguagem orientada a
objetos, que torna a programação mais fácil, devido a possibilidade de reutilização de
códigos. No projeto, existe uma classe chamada R.java, que faz todo o trabalho de montagem
das telas no emulador, pegando os parâmetros criados por códigos XML, que ficam em um
local reservado dentro do projeto. A interface gráfica do aplicativo foi desenvolvida em XML,
utilizando comandos simples para gerar textos e botões.
A proposta principal do trabalho, que era mostrar o funcionamento de uma aplicação
executando no sistema operacional foi cumprida, com o desenvolvimento de uma pequena
aplicação para uma loja. Esse trabalho propiciou um engrandecimento sobre as tecnologias
utilizadas para o desenvolvimento de aplicativos para dispositivos móveis, além do
conhecimento mais profundo sobre a tecnologia Android.
A idéia desse software pode ser aproveita para desenvolvimento de aplicações mais
completas para outros tipos de comércio que queiram utilizar aparelhos Android. Pode-se
melhorar a aplicação implementando idéias que não foram utilizadas no protótipo, como
enviar os dados cadastrados, via wireless, para outro local, geração de relatórios.
44
6. BIBLIOGRAFIA
BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar; UML - Guia do Usuário, Editora
Campus, 2006.
JOHNSON, Thienne M.; Java para Dispositivos Móveis – Desenvolvendo Aplicações com
J2ME, Editora Novatec, 2007.
LECHETA, Ricardo R.; Google Android: aprenda a criar aplicações para dispositivos móveis
com Android SDK, Editora Novatec, 2010.
LUCKOW, Décio Heinzelmann; MELO, Alexandre Altair de. Programação Java para a
Web: Aprenda a desenvolver uma aplicação financeira pessoal com as ferramentas mais
modernas da plataforma Java. Editora Novatec, 2010.