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.