Google最近推出了Android Architecture Components框架,并在GitHub上传了sample。这个文集用来记录整理学习过程。
问题:
ViewDataBinding.executePendingBindings()的作用和使用场景?
了解Snackbar
了解TextInputLayout
DataBindingComponent是什么?作用?
实际上就是为任意ViewDataBinding实例指定单独的BindingAdapter。
timber,打印日志,可以暂时跳过不看
高效理顺一个开源项目的方法?
什么代码应该写在onActivityCreated里面?
@NonNull @Nullable注解的作用?
在Java中用于标记方法参数、返回值是否可空,在编译期检查。在Kotlin中,使用!、?等符号来区分是否可空。
room 与 kotlin同时使用报错:Error:Execution failed for task ':app:kaptDebugKotlin'.
Entity类中如果存在多个构造器,要使用@Ignore
标记,只保留一个用于room创建实例。而在kotlin使用data类时,若指定了参数的默认值,kotlin会自动生成多个构造方法,因此报错。要解决这个错误,关键在于保留一个构造方法,其他用@Ignore
标记
@Entity
data class User @Ignore constructor(
@PrimaryKey
@SerializedName("login")
var login: String? = null,
@SerializedName("avatar_url")
var avatarUrl: String? = null,
@SerializedName("name")
var name: String? = null,
@SerializedName("company")
var company: String? = null,
@SerializedName("repos_url")
var reposUrl: String? = null,
@SerializedName("blog")
var blog: String? = null) {
constructor() : this(null)
}
目标:
熟悉Architecture Components各组件的作用,掌握各组件的使用方法以及优势和劣势。
学习项目架构
学习单元测试相关工具以及写法
学习项目中Retrofit,glide,DataBinding,dagger的使用方法,进一步掌握这些库。
学习Architecture Components各组件的源码,掌握各组件的实现原理。
参考资料:
官方文档
官方sample地址
网友评论