Google Summer of Code - Android istSOS client


About

This project page was designed for the submission of the Android IstSOS client project as part of the Google Summer of Code '16.

The project was divided into two parts: Java Core and Android demo

The code was placed in the istSOS community repository, which is a project part of the OSGeo organisation.

Since the beginning of GSoc, the organization asked us to set up our wiki page where every aspect related to our project could be stored, therefore I kindly invite you to visit the following link to my OSGeo wiki page. There you will find all the reports, implementation details, class structure and so on.

Commits

Check out the commits of the Java Core.

Check out the commits to the Android demo.

Working repositories

Everything about the Java Core can be found in the same repository.

Same applies to the Android demo.

Aspects about technical implementation

As the project was designed and implemented from scratch, it shouldn't be considered as the very final version. The Java Core is a workable package that so far provides access to the core functionalities of istsos and nothing extra.

There were some problems during the development with the Async-Http-Client library not being supported in Android because it was designed for Java 8.

In order to make it more accessible, backwards compatibility for Java 7 was added. Keeping this into account, while imported in Android as a module, it makes use of the Android Async Http for handling HTTP requests instead of the previously mentioned library. More details about this can be found in the documentation for the Java Core and Android demo.

After all, the Java Core can be used to create independent java projects that rely on istSOS, as a result it doesn't include special means for handling graphical visualization in Android.

Status of this project

Unfortunately, development with Android did not work so well, therefore the examples are not fully finished. As for the Java Core, I didn't test it with all possible cases for every single thing, therefore some bugs might exist.

Future work to be done

Below is a list with some of things I think would be useful:

  • Extend the capabilities of the Java core in Android direction
  • Design and implement a graphical library for istSOS Android
  • Develop an improved version of the Android demo
  • Add new features to the Java Core
  • Improve, optimize the code to ensure a better performance
  • Make the Java core available on Maven center, jcenter to avoid the process of jar-ing/importing into the IDE
  • JavaDoc style documentation available online on sites such as javadoc.io
  • Integrate Travis CI

Acknowledgement

All of this wouldn't have been possible without the great support of istSOS mentors, Mirko Cardoso, and Milan Antonovic. They have provided guidance and advice for the whole duration of the project.