This is the research page for the SWE 4980 mobile client query application project
Feasibility of Having a Voice Recognition Feature on the Mobile Client Query Application:
The Android SDK has a built in class called RecognizerIntent that allows for the easy integration of the built in voice recognition software into any android application. It contains all the methods necessary to prompt the user for voice input, collect audio data, send that data to the voice recognition software, and return processed text data back to the application. In working code, starting an Activity with an intent and waiting for the results will look like:
Intent intent = new Intent("android.speech.action.RECOGNIZE_SPEECH"); startActivityForResult(intent, 0);
While speech recognition is being performed, it displays an overlay over the application, and when done returns the results back for the activity to handle.
Link to sample Voice Recognition Class: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/VoiceRecognition.html
Problems from this system seem to arise from that fact that there is no way to attempt to match to a specified vocabulary set and if the program fails to recognize the voice input as any words then the user will have to use the screen to retry the input. The quality and precision of the application's voice recognition will depend entirely upon the pre-built software on the platform. Fortunately, it seems reasonable to assume that the voice recognition API will only improve with time.
Based on this available information the voice recognition feature seems to be quite feasible and could be easily implemented in the Mobile Client Query Application.
Google Maps on Android
To make it easier for you to add powerful mapping capabilities to your application, the Google APIs add-on includes a Maps external library, com.google.android.maps. The classes of the Maps library offer built-in downloading, rendering, and caching of Maps tiles, as well as a variety of display options and controls.
The key class in the Maps library is MapView, a subclass of ViewGroup in the Android standard library. A MapView displays a map with data obtained from the Google Maps service. When the MapView has focus, it can capture keypresses and touch gestures to pan and zoom the map automatically, including handling network requests for additional maps tiles. It also provides all of the UI elements necessary for users to control the map. Your application can also use MapView class methods to control the MapView programmatically and draw a number of Overlay types on top of the map.
In general, the MapView class provides a wrapper around the Google Maps API that lets your application manipulate Google Maps data through class methods, and it lets you work with Maps data as you would other types of Views.
The Maps external library is not part of the standard Android library, so it may not be present on some compliant Android-powered devices. Similarly, the Maps external library is not included in the standard Android library provided in the SDK. The Google APIs add-on provides the Maps library to you so that you can develop, build, and run maps-based applications in the Android SDK, with full access to Google Maps data.
To use the classes of the Maps external library in your application, you need to:
•Install the Google APIs add-on, as described in the Installing document. If you are using the Android SDK, you don't need to install the add-on — it's preinstalled in the SDK package. •Set up a new Android project — or reconfigure an existing one — to build against the installed Google APIs add-on •Set up an Android Virtual Device configuration that uses a the Google APIs add-on •Add a uses-library element to your application's manifest file, to reference the Maps library. •Use the Maps classes in your application •Get a Maps API Key, so that your application can display data from the Google Maps service. •Sign your application properly, using the certificate that matches your API Key. The sections below provide more information.
In order to access the SVN server you must have a MCS account and SVN client.
once the SVN client is installed the URL for the repo is http://pancake.mcs.uvawise.edu/subversion/capstonef10