• android data binding jetpack I 环境配置 model-view 简单绑定


    android data binding jetpack VIII BindingConversion

    android data binding jetpack VII @BindingAdapter

    android data binding jetpack V 实现recyclerview 绑定

    android data binding jetpack IV 绑定一个方法另一种写法和参数传递

    android data binding jetpack III 绑定一个方法

    android data binding jetpack II 动态数据更新

    android data binding jetpack I 环境配置 model-view 简单绑定

      

    第一步:baidu jetpack

    第二步:准备

    1.Gradle 插件版本不低于 1.5.0-alpha1:classpath 'com.android.tools.build:gradle:1.5.0'

    Module)的 build.gradle

    加配置:
    dataBinding { enabled true }

    第三步:

    创建布局文件

    使用 Data Binding 之后,xml 的布局文件就不再用于单纯地展示 UI 元素,还需要定义 UI 元素用到的变量。所以,它的根节点不再是一个 ViewGroup,而是变成了 layout,并且新增了一个节点 data

    <layout xmlns:android="http://schemas.android.com/apk/res/android">
        <data>
        </data>
        <!--原先的根节点(Root Element)-->
        <LinearLayout>
        ....
        </LinearLayout>
    </layout>

    将文件放在layout文件夹。如下图。

     布局中多了<data>节点。data 节点的作用就像一个桥梁,搭建了 View 和 Model 之间的通路。绑定数据M2V

    第四步:了解<data>节点

    在代码里解释:

    先建一个类备用

    定义一个变量

    java.lang.* 包中的类会被自动导入,可以直接使用,例如要定义一个 String 类型的变量:<variable name="firstName" type="String" /> 

     第五步:

    同步一下项目。build一下。

    根据说明项目会生成下面这个类。

     打开这个类是这样的

    里面有布局元素和刚才定义的变量。

    第六步:

    在使用的activity类里声明绑定类实例变量,修改设置视图:
    private ActivityMainBinding mBinding;

    做完上面两步。但是类
    ActivityMainBinding 编辑器不认识。不能自动导入。rebuild、clean都不管用。怎么办。baidu也没给出办法。
    试了一下,可以手动导入。直接输入:
    import com.ht.jetpack.databinding.ActivityMainBinding;
    嘿嘿。没问题。项目可以编译通过了。又完成一步。
    到此binding的环境差不多了可用了。

    其它知识点:

    除了使用框架自动生成的 ActivityBasicBinding,我们也可以通过如下方式自定义类名。

    <data class="com.example.CustomBinding">
    </data>

    注意

    ActivityBasicBinding 类是自动生成的,所有的 set 方法也是根据 variable 名称生成的。例如,我们定义了两个变量。

    <data>
        <variable name="firstName" type="String" />
        <variable name="lastName" type="String" />
    </data>

    那么就会生成对应的两个 set 方法。

    setFirstName(String firstName);
    setLastName(String lastName);


    第七步:绑定数据。
    把textview text 与user 的name变量绑定。

    语法是@{}。语法可以当一大块去学习。这里先试一试。

    通过这个代码,告诉textview的text数据来源是user 的name。两者绑定起来。

    然后在activity里做如下操作:

    生成一个User对象。并把他给绑定器。
    我们运行起来看一下。

    文字出来了,跟textview绑在了一起。至此最简单的绑定过程搞定了。












     
  • 相关阅读:
    java
    java
    android-studio于java相关
    转-Cannot refer to an instance field arg while explicitly invoking a constructor
    java
    java
    hdoj 1251 统计难题(字典树)
    hdoj 3555 Bomb(DFA+dp)
    hdoj 1247 Hat’s Words(字典树)
    poj 1204 Word Puzzles(字典树)
  • 原文地址:https://www.cnblogs.com/mamamia/p/10082588.html
Copyright © 2020-2023  润新知