• This repository has been archived on 14/Jan/2018
  • Stars
    star
    2,946
  • Rank 15,378 (Top 0.4 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created about 12 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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.

Overview Build Status on Travis: Maven Central

We froze RS last week, the library is not maintained anymore. Personnally, I now always use a mix of retrofit and Rx instead, RS has sailed a long way home and yes, the latest constraints in android O don't make it easy for RS at all, it's probably the last nail in its coffin. @stephanenicolas

Thx to all RS users for your warm support, it's been a pleasure to ofer this library to the community. Thx to @rciovati too for his important contributions to RS !


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/stephanenicolas/robospice/master/gfx/RoboSpice-InfoGraphics.png).

If you want to start using RoboSpice right now, jump to the Wiki or the samples.

The Wiki has a fully detailed section to quickly setup you up whether you use Gradle, Maven or ant/eclipse.

Main features of RoboSpice

  • supports Android starting from SDK version 8 (Froyo / 2.2.x)
  • executes network requests asynchronously (in a background AndroidService)
  • supports REST out of the box (using Spring Android or Google Http Client or Retrofit).
  • is strongly typed ! You query webservices using POJOs as parameters and you get POJOs as request results.
  • enforces no constraints neither on POJOs used for requests nor on Activity classes you use in your projects
  • caches results in Json with both Jackson or Jackson2 or 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 with respect to their lifecycles.
  • notifies your activities (or any other context) on the UI Thread
  • no memory leaks at all, like Android Loaders, unlike Android AsyncTasks
  • uses a simple but robust exception handling model
  • supports multi-threading of request executions
  • is stable, efficient and designed to respect Android philosophy
  • supports request cancelling, request priorization and requests aggregation
  • supports aggregation of different web services
  • is a full featured replacement for long �running AsyncTasks even if they are not related to networking.
  • is open source ;)
  • and tested (more than 200 tests)

RoboSpice is under Quality control on Sonar's Nemo instance. Thanks to Sonar Source.

To learn more about RoboSpice

To learn more, look at the presentation slides we created for DroidCon UK 2012, they are available in the download section.

A few links :

Example code & demo

The RoboSpice team proposes a lot of sample applications in their own GitHub repo.

We also propose a few demo :

A project 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

Robospice presentation by David Stemmer

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

Projects related to RoboSpice

  • Blandware Android AtLeap Core is a library accelerating development. It contains universal Content Provider (for SQLite, ORMLite), Drawer, Account Authenticator, etc. AtLeap Sample is a good example of RoboSpice, Retrofit, ORMLite, Picasso integration.
  • SpiceAnnotations : using RoboSpice and Android Annotations by Daniel Dekanski. Also read his blog post.

More Repositories

1

Quality-Tools-for-Android

Java
1,266
star
2

toothpick

A scope tree based Dependency Injection (DI) library for Java / Kotlin / Android.
Java
1,123
star
3

boundbox

BoundBox provides an easy way to test an object by accessing all its fields, constructor and methods, public or not. BoundBox breaks encapsulation.
Java
229
star
4

RoboDemo

RoboDemo is a ShowCase library for Android to demonstrate to users how a given Activity works.
Java
215
star
5

loglifecycle

Logs all lifecycle methods of annotated Activities, Fragments, Services, Views, etc.
Java
206
star
6

reflection-no-reflection

A proof on concept to create an API that is 100% compatible reflection API, but without any reflection. Performance stuff for Android and Java.
Java
130
star
7

ormlite-android-gradle-plugin

A Gradle plugin for Android to generate an ORMLite configuration file and boost DAOs creations.
Java
102
star
8

morpheus

An Android gradle plugin to transform classes via javassist.
Java
80
star
9

afterburner

A library to help other librairies getting rid of boiler plate via byte code manipulation. Works on Android too.
Java
74
star
10

injectextra

Injects everything passed by extra to an activity automatically.
Java
26
star
11

androidstudio4maccheatsheet

Most useful keyboard shortcuts with default keymap in Android Studio.
23
star
12

mimic

Mimicing is, indeed, kind of way to bypass java single inheritance paradigm. It allows to copy all declared fields, constructors and methods in a given class into another class.
Java
19
star
13

activtity-fragment-lambda

Example of how to use lambdas to communicate between Fragments and Activities
Java
17
star
14

injectview

On Android, Injects all views inflated from XML automatically. No boiler plate at all.
Java
17
star
15

injects

This repo is a control center for the injects projects.
9
star
16

injectresource

Inject resources automatically on Android.
Java
8
star
17

javassist-build-plugin-api

A unified API to create class transformers based on javassist during maven and gradle builds.
Java
7
star
18

TypedAdapter

Object Oriented android list view adapter(s) using generics to display given Pojos.
Java
5
star
19

google-guice

A fork of Google Guice to allow RoboGuice to go faster at startup.
Java
3
star
20

zest-android

Sample app to demonstrate roboguice usage + testing
Java
3
star
21

Dependency-Resources-Linearization

Demonstrate that the linearization of the dependency graph that gives to the order of priority to aapt2 when merging resources is hard to grasp for humans and that we can quickly have problems when scaling the number of modules.
Kotlin
3
star
22

MixedServiceLifeCycle-sample

A sample to demonstrate that a mixed life cycle service (both started and bound) is buggy. Built for a common guy ;)
Java
2
star
23

heatControl

Controls a custom micro controller on a heating system
Kotlin
1
star
24

bugs-instant-execution

Sample project to illustrate instant execution bugs in Android projects
Shell
1
star