RoboZombie   /rō-bō'zŏm'bē/   noun.

1. Makes Android networking a breeze.   2. Accepts an interface which describes the remote service and gives you an implementation of it.

Build Status   Coverage Status


Here's your model.

public class Repo {

    private String id;
    private String name;
    private boolean fork;
    private int stargazers_count;


Define the endpoint.

public interface GitHubEndpoint {

    List<Repo> getRepos(@PathParam("user") String user);

Looks for Gson on your build path.

Inject and invoke.

private GitHubEndpoint endpoint;   



List<Repo> repos = endpoint.getRepos("sahan");

Create as many endpoints as you want...

public interface ExampleEndpoint {

    void putContent(@Entity Content content);

Looks for Simple-XML on your build path.

...and inject 'em all.

private GitHubEndpoint gitHubEndpoint;

private ExampleEndpoint exampleEndpoint;


RoboZombie requires the INTERNET manifest permission for network communication.

<uses-permission android:name="android.permission.INTERNET" />

...and be sure to invoke all synchronous requests from a worker thread.


If you opt to use the out-of-the-box JSON (de)serializer add the Gson dependency; like wise add the Simple-XML dependency for the XML (de)serializer.

1. For Maven based projects.

Add the following dependency to project's pom.xml file.


2. For Gradle based projects.

Add the following repository and dependency to your project's build.gradle file.

repositories {

dependencies {
    compile 'com.lonepulse:robozombie:1.3.3'

3. Add the JAR to your build path manually.

Download the RoboZombie-1.3.3.jar and add it to your libs folder.

Note that Gson is required for JSON (de)serialization and Simple-XML is required for XML (de)serialization.


Coding with RoboZombie is a breeze. It follows a simple annotation based coding style and adheres to a minimal intrusion policy. Kickoff with the quickstart and follow the rest of the wiki pages.

  1. Quickstart

  2. Defining, Injecting and Invoking

  3. Identifying HTTP Methods

  4. Sending Query and Form Parameters

  5. Sending a Request Body

  6. Serializing Request Content

  7. Receiving a Response Body

  8. Deserializing Response Content

  9. Sending and Receiving Headers

  10. Executing Requests Asynchronously

  11. Creating Stateful Endpoints

  12. Intercepting Requests

  13. Overriding, Detaching and Skipping Components

  14. Wiring and Injecting Endpoints

  15. Configuring RoboZombie


This library is licensed under Apache License, Version 2.0.