数据绑定:表示模型和视图,Android 中的第 3 方库
Data binding: presentation model and view, 3rd party libs in Android
我很快意识到这将成为 Android 中的一个问题,因为有很多样板文件,当我开始重构我的代码时,我现在正在有效地编写我自己的半@ssed 数据版本捆绑。我不想花更多的时间来概括它并重新发明轮子。我想知道社区使用的第 3 方库是否有任何好的解决方案。
我找到了 robo-bindings,我真的很喜欢他们的介绍(专注于单元测试他们自己的东西,健壮性等),但他们似乎仍然很小,我担心他们的图书馆和一般 support/evolution 前进。
人们正在使用任何其他图书馆吗?
谢谢。
Android M 将提供强大的数据绑定库!
现在 dev-preview version 可用。
在 xml
和 java
文件中看起来很棒:
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.firstName}"
/>
Java豆子:
public class User {
private final String firstName;
private final String lastName;
public User(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public String getFirstName() {
return this.firstName;
}
public String getLastName() {
return this.lastName;
}
}
绑定:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.main_activity);
User user = new User("Test", "User");
binding.setUser(user);
}
我很快意识到这将成为 Android 中的一个问题,因为有很多样板文件,当我开始重构我的代码时,我现在正在有效地编写我自己的半@ssed 数据版本捆绑。我不想花更多的时间来概括它并重新发明轮子。我想知道社区使用的第 3 方库是否有任何好的解决方案。
我找到了 robo-bindings,我真的很喜欢他们的介绍(专注于单元测试他们自己的东西,健壮性等),但他们似乎仍然很小,我担心他们的图书馆和一般 support/evolution 前进。
人们正在使用任何其他图书馆吗?
谢谢。
Android M 将提供强大的数据绑定库!
现在 dev-preview version 可用。
在 xml
和 java
文件中看起来很棒:
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.firstName}"
/>
Java豆子:
public class User {
private final String firstName;
private final String lastName;
public User(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public String getFirstName() {
return this.firstName;
}
public String getLastName() {
return this.lastName;
}
}
绑定:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.main_activity);
User user = new User("Test", "User");
binding.setUser(user);
}