databinding

Windows phone 7: DataBinding and UI Refresh系列教程

那年仲夏 提交于 2020-01-27 05:28:19
1. Data Binding http://msdn.microsoft.com/en-us/library/cc278072(v=VS.95).aspx#change_notification 2. Displaying Data with Data Binding http://msdn.microsoft.com/en-us/library/hh407286(v=VS.88).aspx 3. INotifyCollectionChanged Interface http://msdn.microsoft.com/en-us/library/system.collections.specialized.inotifycollectionchanged(v=VS.95).aspx 4. ObservableCollection (Of T ) Class http://msdn.microsoft.com/en-us/library/ms668604(v=VS.95).aspx 5. Make ObservableCollection to thread safe (Updated) (Window Form version) http://www.cnblogs.com/Jessy/archive/2011/12/19/2293070.html 6. 深入理解windows

如果时光倒流,你还会选择做 Android 开发吗?

浪尽此生 提交于 2020-01-14 05:17:16
好像确实如此 刚学Android Jetpack时,前辈们都不怎么推荐使用DataBinding。从中了解到DataBinding是这样的: 消除findViewById (我选择kt) 在xml中写(逻辑)代码 (黑人问号面???,反感) 无需手动设置一些监听 (不就几个监听吗) soDataBinding在我眼里作用不大,甚至有点反感(主要xml那块),很长一段时间都排斥DataBinding,项目中只使用ViewModel和LiveData等其他Jetpack组件。 渐渐入坑 借助kt的插件,我们在任何地方都不需要写findViewById(感谢大佬指出)。但由于以前不太懂在RecyclerView.ViewHolder中使用kt插件,还是老老实实的findViewById。这也让我想起DataBinding的好处:消除findViewById。而且对一个组件学都没学,在不了解的情况下,就判处"死刑",好像也不妥。 于是我决定尝试学习一下DataBinding,但秉着不在xml中写逻辑代码的原则,在学习DataBinding时,有关运算符的介绍都是跳过不看的。例如这些: 减少胶水代码 原本使用kotlin搬砖的我,减少胶水代码才是databinding为我带来最直接的便利。比起修改LiveData的值,然后设置Observer感知LiveData的变化

Android Jetpack——DataBinding:从排斥到真香

倖福魔咒の 提交于 2020-01-07 17:48:13
好像确实如此 刚学Android Jetpack时,前辈们都不怎么推荐使用DataBinding。从中了解到DataBinding是这样的: 消除findViewById (我选择kt) 在xml中写(逻辑)代码 (黑人问号面???,反感) 无需手动设置一些监听 (不就几个监听吗) soDataBinding在我眼里作用不大,甚至有点反感(主要xml那块),很长一段时间都排斥DataBinding,项目中只使用ViewModel和LiveData等其他Jetpack组件。 渐渐入坑 借助kt的插件,我们在任何地方都不需要写findViewById(感谢大佬指出)。但由于以前不太懂在RecyclerView.ViewHolder中使用kt插件,还是老老实实的findViewById。这也让我想起DataBinding的好处:消除findViewById。而且对一个组件学都没学,在不了解的情况下,就判处"死刑",好像也不妥。 于是我决定尝试学习一下DataBinding,但秉着不在xml中写逻辑代码的原则,在学习DataBinding时,有关运算符的介绍都是跳过不看的。例如这些: 减少胶水代码 原本使用kotlin搬砖的我,减少胶水代码才是databinding为我带来最直接的便利。比起修改LiveData的值,然后设置Observer感知LiveData的变化

BindingImpl cannot be found

Deadly 提交于 2019-12-21 01:47:16
在项目中,如果发现build文件夹中能生成dataBinding文件,但是报不能生成某databBindingImpl文件的错误,那么原因是:databinding的数据绑定阶段出错。错误一定是在XML界面文件上,重点检查databinding的界面语法,比如, @{ }中的内容。 来源: CSDN 作者: qq_32534441 链接: https://blog.csdn.net/qq_32534441/article/details/103634037

Data Binding on Android

不羁岁月 提交于 2019-12-12 09:25:16
Data Binbing框架是在2015年Google I/O大会上最早提出来的,一直在Android开发者中热议,但是很少有真正在项目中用到。本文简单介绍Data Binding框架的简单用法以及其特点。 Android官网已经提供了支持Data Binding的support library,支持Android 2.1(API level 7+)以上版本。与常规Android工程配置相比,Data Binding支持需要配置如下编译环境: Android Studio 1.3以上才支持Android数据绑定 在Android SDK manager中下载最新的Android Support Library 在app工程build.gradle中配置dataBinding支持开关 在build.gradle添加dataBinding依赖库 build.gradle配置如下: android { .... // dataBindng开关 dataBinding { enabled = true } } dependencies { .... // 添加dataBinding支持依赖库 compile 'com.android.support:appcompat-v7:23.3.0' } Hello DataBinding DataBinding Layout DataBinding

DataBinding2

你说的曾经没有我的故事 提交于 2019-12-11 04:51:45
单项绑定与双向绑定 DataBinding的核心是数据驱动View 即是:数据变化,视图自动变化,DataBinding同时也实现了双向驱动(双向绑定),即是当View的属性变化时,其对应的绑定的数据也会发生变化 1.单项绑定 单项绑定是 当数据改变时和数据绑定的View也自动更改 实现方式有两种:方式一 继承BaseObservable 在get方法上添加注解@Bindable,在set方法上 添加notifyPropertyChanged(BR.属性名称),来通知视图更新,实例如下: public class Data extends BaseObservable { public Data(String name){ this.name = name; } private String name; @Bindable public String getName() { return name; } public void setName(String name) { this.name = name; notifyPropertyChanged(com.wkkun.jetpack.BR.name); } } BR类似于R文件 内部存储的是变量的ID 注解@Bindable 是在BR中声明其注解的属性 上述代码实现了 每一次调用setName()方法

databinding 入门 知识 给TextView 赋值

半世苍凉 提交于 2019-12-10 12:51:44
在上一张中记录怎样创建布局的 这里就不说了下面写2个textview 具体代码如下 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="user" type="com.hxm.User"/> </data> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@color/colorPrimary" android:text="@{user.name}"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@color

Android DataBinding 入门了解 到实现一个buttton的点击事件

烈酒焚心 提交于 2019-12-09 18:13:57
为了更好的学习mvvm 这里从新学习databinding.... 1 首先在app下面的Gradle 里面的android 里面 添加 dataBinding { enabled = true } 如下图 下面看看databinding的布局 1 选中最外层的布局 ,然后alt +enter 看到提示 转为databinding layout 之后效果图下 可以看到最外层 变为layout 了, 里面还有 data 一般 data里面有一个variable 里面有type name 如下 <data> <variable name="listener" type="com.hxm.MainActivity.Listener"/> </data> name 里面是自己命名的, type 里面跟着包名后面在跟着一个自己命名的 下面写一个button <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="listener" type="com.hxm.MainActivity.Listener"/> </data> <LinearLayout android:layout_width

android databinding之include

蹲街弑〆低调 提交于 2019-12-05 15:46:01
由于前段时间了解到了google推出的数据绑定框架databinding,就使用它实现了一个简单的android的mvvm架构思想的demo。 使用过程之中很happy,按照其使用方式,框架会自动生成布局文件对应的XXXBinding类文件。再也不用findViewById了,也再也不用使用注解框架在Activity或者Fragment中写大量的控件属性了,哇,整个世界都清净了。。。。这感觉太爽了。。。 结果遇到问题了,也不知道怎么解决。。。。幸好有google老师带我们学习。 前面都是废话,下面就详细分析我遇到的问题吧! 使用一个Activity + 对应的布局文件举例: DemoActivity: public class DemoActivity extends BaseActivity<DemoVM, ActivityDemoBinding> { @Bind(R.id.linkTv) TextView linkTv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initWidget(); } @Override protected void initBinding() { setBinding

浅谈 RxAndroid + Retrofit + Databinding

那年仲夏 提交于 2019-12-05 15:45:37
最近 RxAndroid 、MVP、MVVM 一直是 Android 程序猿茶余饭后的谈资,于是我也抱着凑热闹的态度试试了试水。这里就谈谈试水后的感受 什么是 RxAndroid ? 要说什么是 RxAndroid ,得从 RxJava 说起。RxJava 在 GitHub 主页上的自我介绍是 “a library for composing asynchronous and event-based programs using observable sequences for the Java VM”(一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库)。这就是 RxJava ,概括得非常精准。 RxJava 的本质可以压缩为异步这一个词。说到根上,它就是一个实现异步操作的库,而别的定语都是基于这之上的。 而RxAndroid是RxJava的一个针对Android平台的扩展,主要用于 Android 开发。 什么是 Retrofit ? Retrofit 是一套 RESTful 架构的 Android(Java) 客户端实现,基于注解,提供 JSON to POJO(Plain Ordinary Java Object ,简单 Java 对象),POJO to JSON,网络请求(POST,GET, PUT,DELETE 等)封装。