Android 6.0 数据绑定之DataBinding(一)
来源:互联网 发布:北京地铁软件 编辑:程序博客网 时间:2024/06/05 10:51
DataBinding简单介绍:
This document explains how to use the Data Binding Library to write declarative layouts and minimize the glue code necessary to bind your application logic and layouts.
The Data Binding Library offers both flexibility and broad compatibility — it’s a support library, so you can use it with all Android platform versions back to Android 2.1 (API level 7+).
To use data binding, Android Plugin for Gradle 1.5.0-alpha1 or higher is required
这是必须条件
(1)可以兼容到最低版本2.1(API level7以上)
(2)Gradle版本为1.5.0以上,或者更高版本(我用的是2.0的)
初识DataBinding简单用法
第一步:
android { compileSdkVersion 25 buildToolsVersion "25.0.1" defaultConfig { applicationId "org.loader.androiddatabinding" minSdkVersion 14 targetSdkVersion 25 versionCode 1 versionName "1.0" } dataBinding { enabled = true//其实就是这是最关键的 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:25.1.0'}
第二步:数据模型的创建,当然下面的只是一个例子,也可以是getAndset的写法,也可以的。
public class User { public String firstName; public String lastName; public User(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; }}
第三步:布局绑定数据
是不是跟以前写法不同了,数据绑定布局文件略有不同,并从布局的根标记开始,后跟数据元素和视图根元素。 此视图元素是您的根将在非绑定布局文件中。数据中的用户变量描述了可以在此布局中使用的属性。
布局中的表达式使用“@ {}”语法写在属性属性中。 这里,TextView的文本设置为user的firstName属性:
<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="user" type="com.example.User"/> </data> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{user.firstName}"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{user.lastName}"/> </LinearLayout></layout>
第四步了控制器展示数据
默认情况下,将根据布局文件的名称生成一个Binding类, 上面的布局文件是main_activity.xml,所以生成类是MainActivityBinding。 这个类保存从布局属性(例如用户变量)到布局视图的所有绑定,并知道如何为绑定表达式分配值。创建绑定的最简单的方法是在填充视图时执行。
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MainActivityBinding binding = DataBindingUtil.setContentView(this, R.layout.main_activity); User user = new User("李海鸣威", "1828888888"); binding.setUser(user);}
运行一下就出结果了,是不是很快乐,比以前的findVIewbyId省了不是一点半点吧。
- Android 6.0 数据绑定之DataBinding(一)
- Android开发-数据绑定-DataBinding-AndroidStudio(一)初识DataBinding
- Android官方数据绑定框架DataBinding(一)
- Android官方数据绑定框架DataBinding(一)
- Android官方数据绑定框架DataBinding(一)
- Android官方数据绑定框架DataBinding(一)
- Android官方数据绑定框架DataBinding(一)
- Android官方数据绑定框架DataBinding(一)
- 数据绑定之DataBinding细解
- Android DataBinding(数据绑定)详解(一)
- Android 数据绑定框架DataBinding
- Android数据绑定框架DataBinding
- Android数据绑定框架DataBinding
- Android Databinding数据绑定框架
- Android学习笔记之MVVM----DataBinding(数据双向绑定)
- DataBinding系列一、绑定数据到view
- DataBinding祛除findviewbyid和数据绑定【一】
- Android官方数据绑定框架DataBinding(二)
- 开发中常用网站
- Tensorflow PlayGround初体验
- 如何写好递归算法
- 1198_a+b
- 前端工程师开发进阶之路
- Android 6.0 数据绑定之DataBinding(一)
- 阿里巴巴 JAVA 开发手册-编程规约-常量定义
- Image retrieval C++ implementation
- 94. Binary Tree Inorder Traversal
- 内存气球技术实验(Memory Balloon)
- android学习笔记(9)-push to git
- 95. Unique Binary Search Trees II
- 96. Unique Binary Search Trees
- 阿里巴巴 JAVA 开发手册-编程规约-格式规约