Android - Truco Online
Autores:
Jacqueline de Moura Oliveira
Thiago Negreiros da Silva
Introdução





A proposta
Android
Desenvolvimento do Servidor
Google Protocol Buffer
Desenvolvimento Cliente Android
A proposta
Android
Alguns Celulares que suportam Android
Continuum - Samsung
Lynx 3D - fabricado pela Sharp
Galaxy S - Samsung
Desenvolvimento do Servidor
Sistemas Distribuídos
O que caracteriza um Sistema Distribuído

Heterogeneidade: O sistema deve ser construído para funcionar em uma grande
variedade de redes, sistema operacional, hardware, e linguagens de programação. Os
protocolos de comunicação da Internet mascaram a diferença das redes, e o Middleware
pode lidar com as outras diferenças.

Facilidade de implementação por terceiros: Os componentes devem ter uma fácil
interface de comunicação para que outros programadores possam fazer os componentes
deles se comunicarem sem muitas dificuldades.

Segurança: Encriptação pode ser utilizada para proteção adequada, protegendo assim as
informações que são passadas pela rede.

Tratamento de Erros: Como se trata de um Sistema Distribuído onde a comunicação é
pela rede podem ocorrem diversos tipos de erros com os clientes ou com o próprio
servidor, e estes erros devem ser tratados apropriadamente.

Concorrência: A presença de múltiplos usuários em um Sistema Distribuído implica em
múltiplos acessos simultâneos, sendo assim o sistema deve assegurar a integridade dos
dados de cada requisição em particular.

Transparência: O objetivo é encapsular os problemas do Sistema Distribuído para que o
programador de uma aplicação cliente precise se preocupar com seus próprios problemas.
Modelo peer-to-peer
Modelo client server
Subdivisões do Modelo client-server
 Thin-Client
A lógica do aplicativo fica no servidor,
sendo assim o cliente só se preocupa em
requisitar os dados de que precisa.
 Fat-Client
A lógica da aplicação fica no cliente, sendo
assim o cliente faz toda a lógica e manda
as informações para serem gravadas no
servidor.
Google Protocol Buffer
Google Protocol Buffer
Exemplo arquivo .proto
// Person created with Protobuf
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
repeated PhoneNumber phone = 4;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
required string number = 1;
optional PhoneType type = 2 [default = HOME];
}
}
Trabalhos correlatos
Truco Montilla
Trabalhos correlatos
Poker King
Sobre o projeto
Desenvolvimento do Cliente Android
Rokon - Framework
Reconhecimento de Voz
Trabalhos Futuros

Para futuros trabalhos poderiam ser aproveitadas a estrutura
de multiplayer e de jogo de cartas para criar outros jogos,
como poker, tranca etc. com apostas como no truco Montilla.

Podem ser adicionados bots com inteligência artificial para
interagir com os usuários ou então aproveitar a estrutura
básica de salas/comunicação entre os usuários para fazer
alguma ferramenta de colaboração.

Este trabalho(código fonte do servidor e do cliente) pode ser
baixado com qualquer cliente SVN no seguinte endereço:
https://trucoonline.googlecode.com/svn/trunk
Considerações Finais
Referências

GOOGLE. Android Developers Guide, 2010. Disponível em: < http://developer.android.com/guide/index.html >. Acesso
em: 03 ago. 2010.

GOOGLE. Android Market, 2010. Disponível em: <http://www.android.com/market>. Acesso em: 03 ago. 2010.

GOOGLE. Google Protocol Buffer,2010. Disponível em: <http://code.google.com/p/protobuf/>. Acesso em: 05 set. 2010.

GOOGLE. Protobuf: examples, 2010. Disponível em: <http://code.google.com/apis/protocolbuffers/docs/overview.html>.
Acesso em: 05 set. 2010.

GOOGLE. Protobuf: ThirdPartyAddOns, 2010. Disponível em:
<http://code.google.com/p/protobuf/wiki/ThirdPartyAddOns>. Acesso em: 05 set. 2010.

KANNAN (Org.). JVM-Serializers, 2010. Disponível em: <https://github.com/eishay/jvm-serializers/wiki/>. Acesso em: 05
set. 2010.

RICHARD. Rokon, 2010. Disponível em: <http://code.google.com/p/rokon/>. Acesso em: 20 set. 2010.

SONG HO AHN. OpenGL VBO, 2010. Disponível em: <http://www.songho.ca/opengl/gl_vbo.html>. Acesso em: 20 set. 2010.

COULOURIS, George; DOLLIMORE, Jean; KINDENBERG, Tim. Distributed Systems: concepts and design. 4. ed. Addison
Wesley, 2005.

LECHETA, Ricardo. Android: aprenda a criar aplicações para dispositivos móveis com Android SDK. 2. ed. Novatec, 2010.
Download

Android - Truco Online