您的位置:首页 > 移动开发 > Android开发

Android数据绑定组件RoboBinding使用详解

2016-04-02 20:51 531 查看



RoboBinding简介

RoboBinding是一款基于Android的数据绑定组件,它可以帮助你编写可读性强、容易测试以及性能优越的Android UI应用。RoboBinding有以下几个特点:

为了精简框架,RoboBinding移除了大量不必要的代码,比如addXXListener(),findViewById()等。
可以将难以测试的Android代码转换为普通的JUnit测试。
提供对象类型Cursor来替换 - 关系类型Cursor,因为我们已经习惯于操作对象 。
可以很容易的为任何自定义组件,第三方组件或Android widget编写属性绑定实现,简化代码,使项目易于维护。

下面我们通过一个小例子来学习RoboBinding的使用方法。


RoboBinding使用方法

布局代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:bind="http://robobinding.org/android">
<TextView
bind:text="{hello}" />
...
<Button
android:text="Say Hello"
bind:onClick="sayHello"/>
</LinearLayout>


presentation models:
@org.robobinding.annotation.PresentationModel
public class PresentationModel implements HasPresentationModelChangeSupport {
private String name;
public String getHello() {
return name + ": hello Android MVVM(Presentation Model)!";
}
...
public void sayHello() {
firePropertyChange("hello");
}
}


Activity代码

Activities将应用布局和展现层数据绑定在一起,MainActivity.java的代码如下:
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);
}
}


更多关于RoboBinding的使用,可以访问其在Github上的主页。

转自:/article/1212822.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: