The OSM APIs themselves are RESTful APIs, you can interact with them using standard HTTP requests. The main OSM Api is generally used to interact with OSM data and is used to make editors. If you want to just fetch osm data (like specific POIs) i recommend you take a look at overpass api. Please remember that with OSM you have access to the underlying map data itself unlike Google Maps and these are API to access those. If you just want map tiles or routing functionality check out the options below.
For offline maps using OSM data i find three libraries very much useful.
osmdroid: I use this library if i have to work with tiles that are in mbtiles format that i generate using tilemill. There is a bonus library for routing called osmbonuspack that adds lots of routing and POI functionality to this library. Also mapbox has released Mapbox Android SDK based on this library. I haven’t tried it but it may be worth a look.
graphhopper: I use this library for offline routing using osm data. This is a lightweight java routing library which work for android as well.
I suggest you take a look at these libraries if you want to use OSM with android. Also after you get somewhat familiar with these libraries i suggest you take a look at the code for popular android based tools for osm like osmand, osmtracker and Vespucci