Introduction:
TaxiFinder is an application that finds the taxi number with the lowest price, considering the user's current position.
Architecture:
The application main activity contains the logo and two buttons that allows the user to browse a list of towns and to automatically call the taxi with the lowest price given the current position provided by the mobile network.
Browsing the town list :
The current version displays a static list of town contained in a string-array resource.
When the user selects a town, a screen with two options appears. The user has the possibility to call the number provided or to send the number to friend.
Automatically call a taxi:
In the current version, for each town there only one phone number which is called. The user's position is obtained by using the LocationManager class, with the NETWORK_PROVIDER predefined variable. Although we have tried to obtained a valid position, the provider seems to be disabled, and the coordinates could not be retrieved.
By using the phone's menu button in the main Activity a menu is displayed, which contains the following options :
Compass:
Displays a compass and updates all coordinates by using the magnetic field sensor. The actual compass has been drawn by extending the View class and overriding the onDraw method.
About:
Display minimum information about the application(name, version and the development team):
Exit:
Closes the application.
Future development:
Solving the position problem
Although research has been made in order to solve this problem the LocationManager seems not to work in our current version(uses-permission have been added to the manifest and several working examples from different forums have been analyzed). Because of this problem the town cannot be identified and the “Call taxi” function doesn't actually work.
Displaying a list of town and phone number from an external XML file
In order for the application to be scalable we need to use either a database or an XML file in order to easily add new taxi companies. To correctly display the list we have to use SAX parser provided by the Java SDK.
Implementing an Activity that maintains the favorite numbers
We have thought it would be nice to allow the user to save the most used numbers in the taxi list. Another option will be added to the existing ones(Call taxi and Send SMS).
Performing the update of the XML file by using an Internet connection
The updated XML file containing the taxi companies will be stored on a server, and when the user wishes to perform an update, he or she will have to turn on the Internet connection and press the “Update” button. A better solution will be to automatically perform the update, by running this process in the background, while the user checks for taxi numbers.
Dowload: