Databinding 是一种框架,MVVM是一种模式,二者的概念是不同的。个人理解DataBinding是一个实现数据和UI绑定的框架,只是一个实现MVVM模式的工具。ViewModel和View能够经过DataBinding来实现单向绑定和双向绑定,这套UI和数据之间的动态监听和动态更新的框架Google已经帮咱们作好了。在MVVM模式中ViewModel和View是用绑定关系来实现的,因此有了DataBinding 使咱们构建Android MVVM 应用程序成为可能。html
RecyclerView的滚动事件研究android
开始以前,咱们想一下一个列表的滚动过程是怎样的? 列表的滚动通常分为两种:1. 手指按下 -> 手指拖拽列表移动 -> 手指中止拖拽 -> 抬起手指 2.指按下 -> 手指快速拖拽后抬起手指 -> 列表继续滚动 -> 中止滚动git
Android自绘动画实现与优化实战github
咱们所熟知的,Android 的图形绘制主要是基于 View 这个类实现。 每一个 View 的绘制都须要通过 onMeasure、onLayout、onDraw 三步曲,分别对应到测量大小、布局、绘制。Android 系统为了简化线程开发,下降应用开发的难度,将这三个过程都放在应用的主线程(UI 线程)中执行,以保证绘制系统的线程安全。这三个过程经过一个叫 Choreographer 的定时器来驱动调用更新, Choreographer 每16ms被 vsync 这个信号唤醒调用一次,这有点相似早期的电视机刷新的机制。安全
Android Studio提升代码质量必杀技:Inspact Codeapp
静态代码检测是不运行代码的前提下,利用预先设定好的规则对程序进行分析,发现潜在问题。检测工具价值度主要体如今检测规则的数量和检测精确度两个方面。编译器进行编译的过程当中会检测程序中的"硬伤",给出错误和警告,静态代码检测工做原理和编译器类似,规则更严苛。框架
说到动态加载,咱们常常使用“插件化”、“热修复”、“热部署”等词汇,因此你们应该不会陌生。本系列的文章的主要目的是分析一下整个动态加载的过程,重点分析其中的关键技术点,而且开发一个比较灵活的动态加载框架,用于知足不一样程度的业务需求。在Android开发中采用动态加载技术,能够达到不安装新的APK就升级APP功能的目的,能够用来到达快速发版的目的,也能够用来修复一些紧急BUG。工具
ExpandingPager is a card peek/pop controller
A dialog utility library. It provides a easy way to let developers deal with screen rotation issue
Vertical Stepper Form Library for Android. It follows Google Material Design guidelines.
另外一种不重启Activity 切换Android夜间模式的库, 只支持 Api 14以上
一个Android MVVM 轻量级工具库,主要目的是更快捷方便的构建Android MVVM应用程序
Simple formatting options for TextView and EditText in the same way Whatsapp provides.
Spotlight is a android library to onboard user by showcasing specific features in the app.
Material-based bottom sheet. API 11+ required.
Ghost blog 客户端
一个基本按照谷歌 Material Design 规范完成的底部导航栏控件
方便的用户名、密码和邮箱校验库
数字选择器
均衡器View
视频修剪库
一个能力值属性分布的控件
A clean, minimal, highly customizable pin lock view
Step indicator for onboarding or simple viewpager
Easily group RxJava Observables together and tie them to your Android Activity lifecycle
包含美颜等40余种实时滤镜相机,可拍照、录像、图片修改
HintCase is a library for Android that will help you create really awesome hints/tips for your apps
在线配色工具