Mappish is open source made available under the Apache 2.0 license. By that you are not even allowed to do commercial products as derivations from this code. You are not required to inform me as the copyright holder, nor are you required to ask for my consent. But I would appreciate if you would tell me if you find any part of this usable, even if it's just for inspiration or education. Just send me a mail.
StructureThe code is divided in a few packages.
Mappish main package
This is the Android Activities as well as the services that provides the update of the users location. The main class for the projection of the geographical data is MappishHeatmapOverlay.java.
Fragment and Drawer
These packages contain the classes that constitutes the Android drawer element. They are purely View/Controller classes and free from any modelling data.
Mappish uses Open Street map as the API for map projections. The library used for this is OSM Droid. The classe/s in this package overrides some classes of OSM Droid to provide some extra functionality to the app.
Handles all the reading and writing to androids sqlite database. The main use is to store gps data as the user moves and to retreive the right data when the visualizations is performed.
A package with miscelaneous functions that are needed but not conseptually related to any of the other functions.
GIS is an acronym for Geographical information system. This class contains all the exciting calculations between the real world data to gps positions to the interal model representation. The javadoc for this part contains more than enough to make use of the functions.