Food Phone Application Shengyu Li CS-298 Advisor: Dr. Chris Pollett Committee members: Dr. Robert...

Preview:

Citation preview

Food Phone Application

Shengyu LiCS-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 Review Ratings

User-friendly Phone UI

Actual Price

Search for Individual Food

Upload Pictures Menu

Yelp Yes Yes Yes No Some Yes No

Urbanspoon Yes Yes No No No No NoiCrave Yes Yes No Yes Yes 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

LanguageJava, bridges exist from J2ME, C#, etc

Objective-C

Programming InterpretersObjective-C byte code only

Install SoftwaresAny 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

Client: Android Phone Configuration

Eclipse IDE JDK 1.5 Android SDK 1.5

PhoneClient

Server

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=getResList&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 ProcedureOriginal Design:

4 modules

1. Stored Procedure Module 2. PHP Module

3. Java Core

4. 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