/robospice

Repo of the Open Source Android library : RoboSpice. RoboSpice is a modular android library that makes writing asynchronous long running tasks easy. It is specialized in network requests, supports caching and offers REST requests out-of-the box using extension modules.

Primary LanguageJavaApache License 2.0Apache-2.0

RoboSpice logo

Overview

RoboSpice is a modular android library that makes writing asynchronous network requests easy.

To learn more about RoboSpice in 30 seconds, try this infographics : https://raw.github.com/octo-online/robospice/master/gfx/RoboSpice-InfoGraphics.png

RoboSpice is maven-ready. For non-Maven developers, follow this guide to setup RoboSpice in your app.

Join our discussion group on google. Browse RoboSpice Wiki and Javadocs.

RoboSpice is now under Continuous Integration on a CloudBees server. Thanks CloudBees !

Main features of RoboSpice

  • executes asynchronously (in a background AndroidService) network requests
  • supports REST out of the box (using Spring Android or Google Http Client).
  • is strongly typed ! You make your requests using POJOs and you get POJOs as request results.
  • enforce no constraints neither on POJOs used for requests nor on Activity classes you use in your projects
  • caches results in Json with both Jackson and Gson, or Xml, or flat text files, or binary files, even using ORM Lite (still in beta)
  • notifies your activities (or any other context) of the result of the network request if and only if they are still alive
  • no memory leaks at all, like Android Loaders, unlike Android AsyncTasks
  • notifies your activities on their UI Thread
  • uses a simple but robust exception handling model
  • supports aggregation of different web services
  • supports multi-threading of request executions
  • since version 1.2, RoboSpice is a full featured replacement for long running AsyncTasks even they are not related to networking.
  • is open source ;)
  • and tested

Look at the presentation slides we created for DroidCon UK 2012, they are available in the download section.

Example code & demo

You can find complete examples of RoboSpice usage in the application (included in Git Hub's repo) : RoboSpice Motivations. You can also find the apk of the RoboSpice Motivations app in the download section and on the Google Play Store.

Read the RoboSpice starter guide to learn more.

RoboSpice now proposes a sample to illustrate how to use it for non-network related requests (offline).

A projet initiated by Octo Technology

Octo Technology logo

RoboSpice has been incubated at Octo Technology, a french company based in Paris, focused on software design and quality. It offers its employees to work part time on Research & Development projects. RoboSpice was one of them.

RoboSpice is the news

RoboSpice has been featured in

RoboSpice has been presented at :

RoboSpice video at DroidConLondon

License

Copyright (C) 2012 Octo Technology (http://www.octo.com)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Alternatives to RoboSpice