Android Mobile Application for Traveling Salesman Problem (TSP) Presented By: Capstone Team #2 http://dcm.uhcl.edu/caps10g4/home.html
Team Information…. Team Members Instructor & Mentor Shravani Reddy Tappati Dr. Perez Davila e-mail: Tappatis9068@uhcl.edu e-mail: perezd@uhcl.edu Tejasri Yelamanchili e-mail: YelamanchiliT8554@uhcl.edu Nikunj Tibdewal e-mail: tibdewaln9188@uhcl.edu Divya Karukonda e-mail: karukondad9030@uhcl.edu
Outline…. Presenter 3 Presenter 1: Tejasri Yelamanchili Class diagram Sequence diagram Project timeline Presenter 4 Shravani Reddy Tappati Google Android Sample code Project schedule References Presenter 1: Divya Karukonda Overview Software requirement System architecture Use case Presenter 2 Nikunj Tibdewal Application content GUI Algorithm
Project Overview…. To develop a mobile application using the Google android platform for finding the optimal route This application allows the user to input the multiple locations that the user is interested to visit and find the optimal route among them The user can give his/her own priority in visiting the locations, so the optimal route can be found in the listed priority
Software Requirement…. Windows XP (32-bit) or Vista (32- or 62-bit) Eclipse IDE 3.5 (Galileo) Android SDK 2.1 XML
Basic System Architecture…. Figure 1. Basic Architecture Diagram
Figure 2. Application overview use case diagram Android mobile application for TSP Figure 2. Application overview use case diagram
What does the application contain?.... Graphical User Interface (GUI ) Algorithm Google Maps
Graphic User Interface…. Android mobile application for TSP Figure 3. GUI for the android mobile application
Algorithm…. Euclidean Distance Formula Nearest Neighbor Algorithm
Euclidean Distance Formula…. Calculate distance between locations Where, p: Current location q: Desire location d: distance between p & q
Nearest Neighbor Algorithm…. Stand on an arbitrary vertex as current vertex Find out lightest edge connecting current vertex and unvisited vertex V Set current vertex to V Mark V as visited If all the vertices in domain are visited, then terminate Go to step 2
Figure 4. UML class diagram for application
Figure 5. Sequence diagram User GUI HTTP connection Android application Google Map 1. GetConnect() 2..SetConnect () 3. SetApplication() 4. Getapplication() 5. GetAddress() 6.SaveAddress() Application server 8. showroute () 9. GetAddress() 10. CalDistance() 11. Getdistance() 7.Searc() 12. FindNN() 13. GetNN() 14. MapNN() 15. ShowOptimizedRoute() Figure 5. Sequence diagram
Project Timeline….
Android…. Android is mobile phone operating system developed by Google Is first complete, open and free mobile platform 100% java support We can create application for the android platform using the Android SDK
Android…. Java and XML based GUI Application written using java programming language run on Dalvik, a custom virtual machine designed for embedded use, which runs on top of a Linux Kernel
Android Architecture…. Figure 6. Android Architecture
Download and Install the SDK…. Download and install the SDK starter package Select a starter package for your operating system and download it Install the ADT Plug-in for Eclipse If you are developing in Eclipse, set up a remote update site and install the Android Development Tools (ADT) plug- in Add Android platforms to your SDK Use the Android SDK and AVD Manager, included in the SDK starter package, to add one or more Android platforms
Sample Android Code…. File.java package com.android.helloactivity;import android.app.Activity;import android.os.Bundle;/** * A minimal "Hello, World!" application. */public class HelloActivity extends Activity { public HelloActivity() { } /** * Called with the activity is first created. */ @Override public void onCreate(Bundle savedValues) { super.onCreate(savedValues); // Set the layout for this activity. You can find it // in res/layout/hello_activity.xml setContentView(R.layout.hello_activity); restoreValues(savedValues); } private void restoreValues(Bundle savedValues) { // TODO Auto- generated method stub }} File.xml <?xml version="1.0" encoding="utf-8"?> <!-- Demonstrates using a relative layout to create a form --> <RelativeLayout xmlns:android="http://schemas.android.com /apk/res/android” android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="10px"> <TextView android:id="@+id/label" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Zip Code:"/><EditText android:id="@+id/entry" android:layout_width="fill_parent" android:layout_height="wrap_content“ android:background="@android:drawable/ed itbox_background” android:layout_below="@id/label"/> <Button android:id="@+id/ok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/entry" android:layout_alignParentRight="true" android:layout_marginLeft="10px" android:text="OK" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/ok" android:layout_alignTop="@id/ok" android:text="Cancel" /> </RelativeLayout>
Work Accomplished…. Class diagram Sequence diagram Installed Android SDK 2.1 Installed Eclipse Galileo 3.5 Tested sample codes
Work To Do…. GUI implementation Algorithm implementation GUI and Algorithm integration Testing Deployment
Figure 7. Project Schedule Project phase Starting Ending Team Member Status Project Initial Specification 1.22.2010 1.28.2010 Divya, Tejasri, Shravani Done Project Web Site 1.29.2010 2.5.2010 Shravani Software Requirement Specification 2.24.2010 Team Project Design Document 2.19.2010 3.5.2010 Tejasri, Nikunj Mid Term Presentation Basic Implementation [ API’s, Map,Location] 3.12.2010 Partially Implementation of Required GUI 3.26.2010 Tejasri, Shravani Pending Implementation of Algorithm 3.16.2010 3.31.2010 Nikunj, Divya Integration of GUI & Algorithm 4.01.2010 4.09.2010 Testing 4.10.2010 4.20.2010 Deployment 4.29.2010 Final Presentation 4.30.2010 Figure 7. Project Schedule
References…. Android logo http://www.devicedaily.com/wp-content/uploads/2008/10/android-logo.png Nearest Neighbor algorithm http://en.wikipedia.org/wiki/Nearest_neighbour_algorithm http://www.wikipedia.org/ http://code.google.com/android/ http://developer.android.com/resources/tutorials/hello-world.html
Thank You !!
Any Queries???