android 数据绑定框架,RoboBinding

软件简介

RoboBinding是一个实现了数据绑定 Presentation

Model(MVVM)

模式的Android开源框架。从简单的角度看,他移除了如 addXXListener(),findViewById()

这些不必要的代码,连如BufferKnife那样的InjectView都不需要,因为你的代码一般不需要依赖于这些界面组件信息。下面以一个最简单的AndroidMVVM为例。

Layout:

xmlns:tools="http://schemas.android.com/tools"

xmlns:bind="http://robobinding.org/android">

bind:text="{hello}" />

...

android:text="Say Hello"

bind:onClick="sayHello"/>

Presentation Model:

public class PresentationModel extends AbstractPresentationModel {

private String name;

public String getHello() {

return name + ": hello Android MVVM(Presentation Model)!";

}

...

public void sayHello() {

firePropertyChange("hello");

}

}

Activity将layout与对应的presentation model绑定在一起。

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

...

PresentationModel presentationModel = new PresentationModel();

View rootView = Binders.inflateAndBindWithoutPreInitializingViews(this, R.layout.activity_main, presentationModel);

setContentView(rootView);

}

}

这样layout的{hello}与PresentationModel.hello绑定,layout的sayHello与PresenationModel.sayHello方法绑定。我们不需要在Layout中定义TextView,

Button的Id因为我们不关心,且没有必要。当我们进一步观察时,我们发现PresentationModel是一个Pure

POJO。这也是为什么软件界的泰斗Martin Fowler在2004年,提出了Presenation Model(MVVM)

模式。它是我们所熟悉的MVC的升级,进一步的把界面状态与逻辑解藕到Presentation

Model中。我们可以通过以下几个示例项目学习RoboBinding使用,他们都可以直接导入Android Studio无需额外配置:

1.AndroidMVVM,最小的RoboBinding使用例子。

2.Album Sample,是Martin Fowler的Presentation Model模式原始例子基于RoboBinding的Android翻译版本。

3.Gallery,是用于展示RoboBinding的各种特性的使用包含Fragment, Menu, ViewPager等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值