Jetpack 包含一系列 Android 库,它们都采用最佳做法并在 Android 应用中提供向后兼容性。
网站原址为:https://developer.android.google.cn/jetpack,英文好的最好看原版,里面有简单的教程。
本文介绍的是其中的两个小部分,数据绑定和ViewModel的入门,主要是介绍他们的使用,应用没什么功能,第一步创建应用:
第二步设置名字和保存位置,注意勾选最底下的androidx*选项
接下来就会创建项目
之后在app的build.gradle 中增加dataBinding.enabled=true,然后sync
接着在项目的xml中如下图点击创建数据绑定
创建新的java类,继承自ViewModel,如下图
Myviewmodel类里的代码如下
<code>
package com.jesus.holy.myjiafa;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
public class Myviewmodel extends ViewModel {
private MutableLiveData<integer> Score;
public MutableLiveData<integer> getScore() {
if (Score == null) {
Score = new MutableLiveData<>();
Score.setValue(0);
}
return Score;
}
public void Add(int p) {
Score.setValue(Score.getValue() + p);
}
}/<integer>/<integer>/<code>
接着在xml中添加如下代码
然后更改文本框,用于显示数字
如上图中间的@{}中间的代码,接着
在button里onclick里如上图更改;最后在MainActivity里代码如下
<code>package com.jesus.holy.myjiafa;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.lifecycle.ViewModelProviders;
import android.os.Bundle;
import com.jesus.holy.myjiafa.databinding.ActivityMainBinding;
public class MainActivity extends AppCompatActivity {
Myviewmodel myviewmodel;
ActivityMainBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding= DataBindingUtil.setContentView(this,R.layout.activity_main);
myviewmodel=ViewModelProviders.of(this).get(Myviewmodel.class);
binding.setData(myviewmodel);
binding.setLifecycleOwner(this);
// setContentView(R.layout.activity_main);
}
}
/<code>
xml的代码
<code>
<layout><data><variablename>/<data><layout>data.Add(1)}"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.517"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.707" /> /<layout>/<layout>/<code>
效果图
閱讀更多 知識技術與人生 的文章