Android开发技术周报 Issue#85
教程
-
Databinding 是一种框架,MVVM是一种模式,两者的概念是不一样的。我的理解DataBinding是一个实现数据和UI绑定的框架,只是一个实现MVVM模式的工具。ViewModel和View可以通过DataBinding来实现单向绑定和双向绑定,这套UI和数据之间的动态监听和动态更新的框架Google已经帮我们做好了。在MVVM模式中ViewModel和View是用绑定关系来实现的,所以有了DataBinding 使我们构建Android MVVM 应用程序成为可能。
-
开始之前,我们想一下一个列表的滚动过程是怎样的? 列表的滚动一般分为两种:1. 手指按下 -> 手指拖拽列表移动 -> 手指停止拖拽 -> 抬起手指 2.指按下 -> 手指快速拖拽后抬起手指 -> 列表继续滚动 -> 停止滚动
-
我们所熟知的,Android 的图形绘制主要是基于 View 这个类实现。 每个 View 的绘制都需要经过 onMeasure、onLayout、onDraw 三步曲,分别对应到测量大小、布局、绘制。Android 系统为了简化线程开发,降低应用开发的难度,将这三个过程都放在应用的主线程(UI 线程)中执行,以保证绘制系统的线程安全。这三个过程通过一个叫 Choreographer 的定时器来驱动调用更新, Choreographer 每16ms被 vsync 这个信号唤醒调用一次,这有点类似早期的电视机刷新的机制。
-
Android Studio提高代码质量必杀技:Inspact Code
静态代码检测是不运行代码的前提下,利用预先设定好的规则对程序进行分析,发现潜在问题。检测工具价值度主要体现在检测规则的数量和检测精确度两个方面。编译器进行编译的过程中会检测程序中的"硬伤",给出错误和警告,静态代码检测工作原理和编译器相似,规则更严苛。
-
说到动态加载,我们经常使用“插件化”、“热修复”、“热部署”等词汇,所以大家应该不会陌生。本系列的文章的主要目的是分析一下整个动态加载的过程,重点分析其中的关键技术点,并且开发一个比较灵活的动态加载框架,用于满足不同程度的业务需求。在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
工具
-
在线配色工具