Upload
cora-mason
View
217
Download
0
Tags:
Embed Size (px)
Citation preview
CS4274 TERM PROJECT 2010 SOLE : SHARING OF LIVING EXPERIENCES
Team Members:
Tan Gui Han Wilson
Duy Vinh Chuc
Damien Catala
Cheng Zhi Xiang
IN PHASE 1…
Communicate with Maps Engine to retrieve current location. (Phase 1)
Register to Coalition to allow communication between 2 PSGs (Phase 1)
FOR PHASE 2 OF PROJECT Integrate Application with Google Maps
Communicate with LASPD to obtain IP address and Port of SOLE-AS server in current location
Allow users to add in their experiences about a particular location / space. Title Name of restaurant / store Ratings Comments Private / Public
Allow users to retrieve experience about the location. Public -> Query the AS server Private -> Retrieve experience from the user itself
SYSTEM DESIGN
Integration with Google Maps
• Allows user to visually see experiences around his location.
• Allows user to set his Name.
• Maps interface is shown when the user launches the application.
SYSTEM DESIGN
Screenshot of Experience GUI:
Creation of Experience Viewing of ExperienceSpecific fields for each location
SYSTEM DESIGNAS SERVER
SWING based GUI for AS server
Manage general information of the AsServer
Control connection and display all the request in a console
Many future features could be implemented
IMPLEMENTATION DETAILS -GOOGLE MAPS INTERFACE
The MapsDemo class is the main Activity of the
Android application.
Starts service to: Communicate with Map Engine to retrieve
location using BSSID and Map Coordinates Use LASPD to get IP and Port of AS server Communicate with SOLE AS server to retrieve all
experiences in the area Constantly update its location by checking for
changes in BSSID of Wi-Fi Router Update the IP address of the user.
IMPLEMENTATION DETAILS -GOOGLE MAP ACTIVITY The Google Map Activity is responsible for
ensuring that all the information required by the GUI is added to the Intent before it is invoked.
MAP ENGINE
GOOGLE MAP INTEFACE
SOLE AS SERVER
Adding Experience
Taps on screen and choose add
Query location using coordinates
Returns name of location2
1
Connect to SOLE AS Server via Sockets
3
If Public, store entire experience in Sole-AS ServerIf Private, store short experience in server
4
If its private experience, store entire experience on local Database.Display Map.
5
GOOGLE MAP INTEFACE
SOLE AS SERVER
Retrieving Experience (Public)
Taps on marker and choose get
1
Connect to SOLE AS Server via Sockets
2
3
Display Experience.
Returns Experience
COALITIONGOOGLE MAP INTEFACE
SOLE AS SERVER
Retrieving Experience (Private)
Taps on marker and choose get
1
Connect to SOLE AS Server via Sockets
2
Returns Short Experience
Query using MAC address
Returns IP and Port of Creator
Returns IP and Port of Creator
Connect to Creator, Asks for permission, Queries for full experience
Returns full experience from local server
3
4
IMPLEMENTATION DETAILS -SOLE-AS SERVER DESIGN
Initial plan to use RMI for communication between PSG and AS server. Problem: RMI library not part of JVM for Android
Hence, we switched back to using traditional socket. Implemented to emulate RMI functionalities
See next slide for diagram.
IMPLEMENTATION DETAILS -MANAGEMENT OF PRIVATE EXPERIENCES
User has to be able to choose if experience he wants to share is private or public.
Public experience – Stored in AS Server (MySQL) Private experience – Stored locally (MySQLite)
Has to get permission from other user
All experiences (public + private) have some data stored on the public SOLE-AS server Private only have ID and Title stored
(short_experience)
See next slide for diagram
DIFFICULTIES ENCOUNTERED
Android Emulator cannot accept incoming socket connections. Tried using port redirection but failed
Also, we only had 1 mobile phone to use for testing.
Hence, it was difficult to test communication between Application and Map Engine / Coalition
Solved problem by using personal android phone and writing a PSG simulator on java to simulate PSG on phone
DIFFICULTIES ENCOUNTERED Unfamiliar with details about Android
Programming Eg. Modify Manifest files to access the Internet
Solved by self study and research on internet
Also, the project requires us to use many libraries that have already been created.
Some of them are difficult to use due to lack of documentation and some features were unclear.
Solved by regular meetings with TA, Chen Penghe who clarified all our doubts.
FUTURE DEVELOPMENT
Include XML layout file into the SOLE-AS server such that the GUI Activity can retrieve its layout directly from the server. Provide User interface to allow change in layout
Allow users to take a photo or other multimedia and include it in an experience.