You may want to check out our university (University of South Florida)'s "OpenTripPlanner for Android" open-source project:
This is a native Android app that uses a REST API to access the main server-side open-source OpenTripPlanner project (created primarly by TriMet in Portland and OpenPlans), which does the actual multimodal (bike/transit/walk) trip planning:
The planned trip is then passed back to the Android app and displayed on the screen.
This is a slightly different server-side approach that's entirely implemented in Java and runs in a Java application server such as Tomcat, instead of utilizing a spatial database server such as Oracle spatial.
There are two steps to getting a running server:
- Use the OTP GraphBuilder application to build a graph object (a file) from several data sources (inclduing OpenStreetMap) that contains a serialized set of Java objects that represent the graph topology and rules for traversing the graph.
- Start the Tomcat server, which loads the graph object from disk into memory, deserializes the graph, and is then ready to serve trip planning requests.
There are performance/scalability benefits of having the entire graph in memory for routing, instead of having to hit a hard disk where the Oracle database is presumably located. I don't know if Oracle is a hard requirement for your project, but if not you might want to consider basing your application off of OpenTripPlanner (OTP).
The OTP Android app is available on Google Play:
And here's our OpenTripPlanner server instance running in Tampa, FL, that it sends the REST requests to (this is the normal web browser view):
Here's a sample REST API request that would be sent from the app to the server (note the "/opentripplanner-api-webapp/" addition to the below URL to give you the REST API instead of the normal web interface). If you open this in your browser, you should see the XML-encoded trip planned from the lat/long "fromPlace" to the lat/long "toPlace" encoded in the URL:
Here's the defintion of the OTP REST API that will tell you what each XML element in the response means: