开源项目教程:Android Data Binding with RxJava
android-data-binding-rxjavaDemo that shows how to use RxJava with Android Data Binding ObservableFields项目地址:https://gitcode.com/gh_mirrors/an/android-data-binding-rxjava
1. 项目的目录结构及介绍
android-data-binding-rxjava/
├── app/
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src/
│ ├── androidTest/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── tango/
│ │ │ └── databindingrxjava/
│ │ │ ├── MainActivity.java
│ │ │ ├── MainViewModel.java
│ │ │ └── RxDataBinding.java
│ │ ├── res/
│ │ │ ├── layout/
│ │ │ │ └── activity_main.xml
│ │ │ └── values/
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ └── AndroidManifest.xml
│ └── test/
├── build.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── README.md
目录结构介绍
app/: 主应用程序模块。
build.gradle: 应用程序的构建脚本。proguard-rules.pro: ProGuard 规则文件。src/: 源代码目录。
androidTest/: 用于 Android 测试的代码。main/: 主源代码目录。
java/: Java 源代码。
com/tango/databindingrxjava/: 项目的主要 Java 代码。
MainActivity.java: 主活动类。MainViewModel.java: 主视图模型类。RxDataBinding.java: RxJava 数据绑定辅助类。 res/: 资源文件。
layout/: 布局文件。
activity_main.xml: 主活动布局文件。 values/: 值资源文件。
strings.xml: 字符串资源文件。styles.xml: 样式资源文件。 AndroidManifest.xml: 应用程序清单文件。 test/: 用于单元测试的代码。 build.gradle: 项目级构建脚本。gradle.properties: Gradle 属性文件。gradlew: Gradle 包装器脚本(Unix)。gradlew.bat: Gradle 包装器脚本(Windows)。settings.gradle: Gradle 设置文件。README.md: 项目自述文件。
2. 项目的启动文件介绍
MainActivity.java
package com.tango.databindingrxjava;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import com.tango.databindingrxjava.databinding.ActivityMainBinding;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
MainViewModel vm = new MainViewModel();
binding.setVariable(BR.vm, vm);
binding.executePendingBindings();
vm.bind();
}
}
介绍
MainActivity.java: 这是应用程序的主活动类。它继承自 AppCompatActivity
并重写了 onCreate
方法。DataBindingUtil.setContentView: 使用数据绑定库设置活动的内容视图。MainViewModel: 实例化并绑定到视图模型。binding.setVariable: 设置视图模型变量。binding.executePendingBindings: 立即执行任何挂起的绑定。vm.bind: 调用视图模型的绑定方法。
3. 项目的配置文件介绍
build.gradle (项目级)
// 项目级 build.gradle 文件
buildscript {
ext.kotlin_version = '1.4.32'
repositories {
google()
mavenCentral()
}
android-data-binding-rxjavaDemo that shows how to use RxJava with Android Data Binding ObservableFields项目地址:https://gitcode.com/gh_mirrors/an/android-data-binding-rxjava