前言
- 简书上data-binding 的文章不少,但真正用来实现MVVM架构的文章不多。有些是官方的guide(https://developer.android.com/topic/libraries/data-binding/index.html) 的翻译版本,且官方的guide的架构主要采用 data-binding + mvp 的形式。 本文讲述一个快速入门的data- binding + mvvm架构。
基本配置
详见官方
gradle ,当然 gradle版本需要在1.5.0-alpha1 or higher
android {
....
dataBinding {
enabled = true
}
}
快速demo入门
- 具体就是用了个gank.io的接口展示了一组妹子图片。不多说,看结果:
ezgif.com-gif-maker.gif
- gradle配置
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:24.1.1'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.android.support:cardview-v7:24.1.1'
这里本来demo不应该引入其他的库的,但为了方便写demo,故添加了retrofit来请求数据,glide来加载图片。
- 数据请求封装Model 省略getter和setter
public class MeiZiModel implements Serializable{
private String error;
private List<Result> results;
public static class Result{
private String _id;
private String desc;
private String publishedAt;
private String createdAt;
private String source;
private String url;
private String used;
private String who;
}
}
- 使用retrofit 请求数据如下: