Skip to content
Lahiru Sahan Jayasinghe edited this page Jun 13, 2013 · 12 revisions

IckleBot

IckleBot /'ikəl'bôt/ noun. 1 A boilerplate code generator with a simplified threading and event model. 2 A runtime dependency injection framework with model-view binding. Build Status


##About

IckleBot facilitates quick Android development by generating boilerplate code in Activity and Fragment instances and offers alternative simplified threading and event models. It encourages loose-coupling and maintainability by providing a runtime [dependency injection] (http://en.wikipedia.org/wiki/Dependency_injection) framework and model-view binding.

Annotation based Android development with...

  • Dependency Injection for...

    1. Layouts
    2. Resources
    3. System Services
    4. Applications
    5. POJOs
  • An alternative threading model which simplifies the execution of worker threads and UI tasks.

  • An alternative event model which simplifies binding event listeners.

  • Activity state management and configuration of window features.

  • Model-View binding which welcomes custom binders.

  • Support for handling network state changes.


##Setup

1. For Maven Based Android Projects

Add the following dependency in your project's pom.xml.

<dependency>
   <groupId>com.lonepulse</groupId>
   <artifactId>icklebot</artifactId>
   <version>1.2.0</version>
   <type>jar</type>
</dependency>

For information on building Android projects using Maven here's Chapter 14 of Maven: The Complete Reference.

2. For Standard Android Projects

Download the IckleBot + Android-Support jars and add them to your libs folder.

##Usage

Kickoff with the quickstart and follow the rest of the wiki pages.

  1. Quickstart

  2. Manage Activity Configuration

  3. Inject Views and Resources

  4. Inject Services, Application Instances and POJOs

  5. Leverage Implicit Injection

  6. Employ Ickle Services

  7. Use IckleBot's Threading Model

  8. Use IckleBot's Event Model

  9. Handle Changes in Network State

  10. Bind Models to Views

  11. Working with Fragments and the Support Library

  12. Activate Features Selectively

  13. Avoid Coupling with IckleActivity

  14. Avoid Coupling with IckleFragment


##License This library is licensed under [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).

Clone this wiki locally