Robopupu is a demo application for the open source Robopupu Android library that provides a set of advanced APIs for architecting and developing Android applications. The use of the provided APIs help developers to achieve good software quality properties, such as good testability, clear separations of concerns, well organised code, encapsulation the application logic into well specified components, and a clean architecture. Robopupu library provides the following APIs at the moment:
• Robopupu.MVP: A Model-View-Presenter (MVP) API.
• Robopupu.Feature: A flow controller type of architectural design pattern for using components that encapsulate navigation logic for and configuration of application features.
• Robopupu.Plugin: A plugin framework that supports dependency injection (DI) and allows decouples communication between components without requiring the components to explicitly register with one another. The API can be used to replace event bus type of communications.
• Robopupu.Dependency: A dependency injection (and pulling) API. Dependency injection in Robopupu.Plugin API utilises this API.
• Robopupu.FSM: A simple library for implementing hierarchical Finite State Machines that support most of the UML state diagram features, including: nested states, initial points, entry points, choice points, and history points.
See http://robopupu.com for documentation and accessing the source codes.