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