LISAsoft was able to get a subset of GeoTools working on the Android platform.
The following are some notes if you would like to repeat and extend the experiment.
The changes to factory are actually pretty straight forward.
Pluggable Factory System
The Factory SPI system still works in android; but uses the official Java 6 technique of FactoryLocator (rather than the "internal" Java ImageIO FactoryRegistery system which we use).
The solution is to make the GeoTools factory system pluggable:
- FactoryLocator for plugin discouvery
- FactoryFinder for the "register" functionality (keeping some instances available)
This same work is needed for good OSGi support.
A strange consequence of using FactoryRegistery is our Hints / Hints.Key system. This code extends RenderingHints which is part of those ImageIO things that are not available in Andriod.
Jody was able to refactor our Hints to be a more simple Map; and continue to get the factory system to turn over.
The AWT Image stuff is not available; so we need to make use of the android image subsystem.
The GridCoverage interface should actually survive okay (it is an image with a bounding box after all). We just need to make an implementation that is an android image with a boding box and we can get back to work.
This actually looks like a straight forward port; take a copy of gt-render and replace the Java Shapes and calls to drawing lines etc...