Data binding library for Android which is:

  • Lightweight
  • Doing one thing and doing it well
  • Easily extendable
  • Fully covered with unit tests
  • Working great with Jack, Retrolambda or Kotlin

Getting started

Here is a simple yet common example of how to use BlueTape:

BlueTape blueTape = BlueTape
  .with(() -> composite(                    // More about composite() later
          id(,                     // id() takes id of the view and list of functions which will bind data to this view
              text(someVariable),           // text() is assigning text to current TextView. No cast needed!
              textColor(Color.RED)          // Following the same logic textColor() changes the color of the text
              onClick(v -> doSomething())   // onClick() works as `setOnClickListener` on a normal button
  .into(this);                              // "this" might be either an Activity or a View

blueTape.update();                          // applies default values

Now, every time data is updated we can trigger BlueTape to update all data in the views:

someVariable = "New value";

blueTape.update();   // This will re-bind all views which we declared before

Add it to your project


repositories {
  maven { url '' }

dependencies {
  compile 'com.github.dmitry-zaitsev:BlueTape:1.1.0'