You can use the following combination (it worked very well for me):
After installing the osmand application on your Android device, you can install the directory where you will save offline maps (in addition to osm, you can use various other sources as a Google map, for example, and easily switch between them). A.
The application already has a very complete set of functions and has code that you can expand / learn from it.
chedi source share