CS298 Presentation
Download
Report
Transcript CS298 Presentation
Food Phone Application
Shengyu Li
CS-298
Advisor: Dr. Chris Pollett
Committee members: Dr. Robert Chun
Dr. Chris Tseng
Outline
Introduction
Design
Implementation
Testing
Demo
Issues
Improvement
Introduction
For this project, I created a Food Phone
Application. Some goals were to:
Help users to preview restaurant menus
Search restaurants by food items
Find these things conveniently on the phone
Let’s look at some existing products …
Existing Products
Yelp on Android
Existing Products
UrbanSpoon iPhone Application
Existing Products
iCrave in Android
Feature Comparison
Phone
Application
Yelp
Userfriendly Actual
Review Ratings Phone UI Price
Yes
Yes
Yes
No
Search for
Individual
Food
Some
Upload
Pictures
Yes
Menu
No
Urbanspoon
iCrave
Yes
Yes
Yes
Yes
No
No
No
Yes
No
Yes
No
No
No
No
My Food Phone
Application
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Design
Platform
Architecture
Application Design
Implementation Design
Platform
Android vs. iPhone
Android
iPhone
Open OS
source
Yes
No
Dev SDK
Free
$100+
Platform
Cross platform
MAC only
Language
Java, bridges exist from
J2ME, C#, etc
Objective-C
Programming
Interpreters
Objective-C byte code
only
Install Softwares Any web sites
Apple store only
Architecture
Client-Server Model
Server (PC)
Client (Phone)
Database
Architecture
Server + Database:
PC
Services
PHP code
Xampp
phpMyAdmin 2.6.2
Apache 2.0
Mysql 4.1.20
Server
Phone
Client
Client:
Android Phone
Configuration
Eclipse IDE
JDK 1.5
Android SDK 1.5
Computer Client
Application Design
Map all possible Outputs to all possible Inputs to
define functions:
a) = 1), 2), 5)
Outputs:
Inputs:
a)Location
1)Users’ Location
b)Menu
2)Search Range
c)Rating for Food
3)Rating for food
d)Restaurant Name
4)Food Name
e)Food Price
5)Restaurant Name
f)Food Comment
6)Food Price
g)Picture
7)Food Comment
h)Phone Number
8)Picture
Activity Relationship
Android Views
Implementation Design
Implementation Model:
Implementation Design
PHP Module
Communicate with the database
Handle upload and download files
Java Core Module
Generate URL to send request to PHP server
Parse the response result from the server
Form Java objects for the Android Java code to
use
Implementation Design
Android Java Module
Handle all UI
Phone features
Location
Camera
Internet
Phone storage
Pictures
Testing
PHP Module
Java Core Module
Android Java Module
Emulator
Real Phone
Testing
PHP Module
getResList(double LatMax, double LatMin, double LongMax, double
LongMin, int str, int end)
We can test this function on the PHP server side by using the following
URL:
http://rome.dynamiccreation.com/~admin22:8888/foodserver.php?function=get
ResList&LatMax=38&LatMin=37.3&LongMax=-121&LongMin=122&str=0&end=2
Testing
PHP Module
Testing
Java Core Module
Testing
Android Java Module
Demo
Issues
Emulator Functionality test
Camera
Location
Storage
Issues
Stored Procedure
Original Design:
4 modules
1. Stored Procedure Module
2.
3.
4.
PHP Module
Java Core
Android Java
Improvement
Image Storage
SD Card?
Memory
Improvement
Prefetching
Assume users want to see
the next picture
Prefetching the next picture
ahead of time
Shorter user waiting
download time for the next
picture
Smooth the process
Questions?
Thank You