本篇文章将从标准的Activities和AsyncTasks到现代的以RxJava为驱动的基于MVP的架构进行讨论。
我眼中的数据绑定库以及MVVM架构
当去年谷歌IO大会上宣布Data Binding Library时,我就认识到了“oh man, this is the next big thing in Android development”。是的,在发布后的几周里炒的很热,但是到现在又归于平静了。很多开发者都致力于MVP以及Rx系列的架构中,以至于他们没时间去研究数据绑定库。我认为,你不能只是会使用数据绑定库,你需要花些时间去学习它如何架构在你的应用中,并且利用它写出高质量的可测试的安卓应用。
Android Data Binding高级系列之整合MVVM架构
在折腾Android Data Binding库一段时间后,我决定将它应用到Model-View-ViewModel架构中。为了实验这个想法,我和@matto1990一起撸了一个应用HackerNewsReader,并使用mvvm来实现。
Android Data Binding高级系列之图片加载
有没有尝试安卓数据绑定库?知道怎么使用它加载图片吗?本篇文章将带来两个例子展示如何加载图片。
Android Data Binding高级系列之双向数据绑定
本篇译文的原文发表在15年12月份,当时的安卓数据绑定库仍然处于Beta版本,对于一些支持不好,但是仍然有许多人不断探索该库。本篇博客相较于之前笔者翻译的Android Data Binding一系列的文章是一个进阶型的文章,暂且把标题定为Android Data Binding 高级系列之xxx。
本篇译文是高级系列的第一篇:安卓双向数据绑定
注意:之所以实现双向数据绑定,Observable功不可没,本篇博文发表时还尚不支持对象序列化,故原作者使用Parceler库。译者也对本文中的例子亲自用代码实现了一遍并且使用最新的数据绑定库是支持对象序列化的,在代码编写过程中发现数据绑定库仍然不够完善,对一些泛型类在自定义的绑定中支持不好。所以,还是期待谷歌工程师继续努力将其完善的更好。
Android Data Binding系列之大事件
原文地址:https://medium.com/google-developers/android-data-binding-the-big-event-2697089dd0d7#.1egx4awlx
在之前的文章中,我已经探讨了关于如何删掉findViewById,并且在一些情况下删掉id。还有一件事是我没有在文章中明确提及的那就是如何处理事件监听器,例如View’s OnClickListener和TextView’s TextWatcher。
安卓数据绑定库提供了三种机制来处理事件监听器(对象监听、方法引用、Lambda表达式),你可以使用其中任何一种机制来服务你的程序。这三种不会使用传统的onClick方法,也不会使用反射机制,所以它的效率是非常高的。
Android Data Binding系列之表达你所要表达的
原文地址:https://medium.com/google-developers/android-data-binding-express-yourself-c931d1f90dfe#.j4adry90k
比访问字段还要多一点
在上一篇文章的讨论中,你学会了在布局文件中使用变量。举个例子,使用如下表达式为TextView
设置用户名:
|
|
Android Data Binding系列之添加变量
不再需要View id
你是否曾经看到其他人的布局会有一些疑问,他们布局中的数据是在哪里set
和get
的呢?或许你会想删掉findViewById
是做出了伟大的第一步,但是我们看到仍然存在大量的样板代码。其实Android Data Binding还可以进一步减少代码量。
Android Data Binding系列之include标签
原文地址:https://medium.com/google-developers/android-data-binding-that-include-thing-1c8791dd6038#.ab89v8uka
在上一篇博文中你已经看到了在AndroidStudio1.5或者更高版本上使用Data Binding来代替findViewById
是多么的方便,其实它的原理是使用View Holder模式,类似于ListView中的ViewHolder。如下描述
Android Data Binding系列前传之不再使用findViewById
随着Android6.0发布Android Data Binding库已经有一年的时间了,在这一年的时间里版本不断更新升级,也渐渐的被大家使用起来。大多数使用者的反馈是‘一旦使用就根本停不下来的节奏’。关于该库更详细的介绍可以查阅谷歌官方文档,下面链接是介绍Data Binding的视频,感兴趣的童鞋可以看看data-binding-android-boyar-mount。
今天笔者就该库带来一个系列的译文。首先,是本篇博客,笔者起得名字为前传:不再使用
findViewById
原文地址:https://medium.com/google-developers/no-more-findviewbyid-457457644885#.qiy8zrz52
在使用Android Studio开发Android应用时,很少有人知道有一个减少代码方便开发的特性,它就是Data Binding。使用该特性可以带来很多好处,我将在后续系列文章中介绍。但是我想最最明显的好处就是可以消除带有findViewById
的代码。