280 likes | 364 Views
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.
E N D
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
Design • Platform • Architecture • Application Design • Implementation Design
Platform • Android vs. iPhone
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
Application Design • Map all possible Outputs to all possible Inputs to define functions: a) = 1), 2), 5)
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
Issues • Emulator Functionality test • Camera • Location • Storage
Issues Stored Procedure Original Design: 4 modules Stored Procedure Module 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