RxJava基本概念 RxJava是ReactiveX的一种Java实现。ReactiveX是Reactive Extensions的缩写,一般简写为Rx。微软给出的定义是,Rx是一个函数库,让开发者可以利用可观察序列和LINQ(Language Integrated Query)风格查询操作符来编写异步和基于事件的程序。开发者可以用Observables表示异步数据流,用LINQ操作符查询异步数据流,用Schedulers参数化异步数据流并发处理,Rx可以这样定义:Rx=Observables+LINQ+Scheduler
函数式编程概念 函数式编程是一种编程范式,我们常见的编程范式有命令式编程、函数式编程、逻辑性编程。面向对象编程是一种命令式编程。命令式编程是面向计算机硬件抽象的,有变量、赋值语句、表达式和控制语句。而函数式编程是面向数据抽象的,将计算描述一种表达式求值,一个函数可以作为另一个函数的参数或者返回值,也可以对函数进行组合。
View的滑动 View滑动是Android实现自定义控件的基础,同时在开发中难免会遇到View的滑动处理,其实不管是那种滑动方法,基本思路是类似的;当点击事件传到View时,系统记下触摸点的坐标,手指移动时系统记下移动后的左边并算出偏移量,通过偏移量来修改View的坐标。实现View滑动有很多种方法,这篇帖子介绍6中滑动的方法,分别是:layout()、offsetLeftAndRight()、offsetTopAndBottom()、LayoutParams、scrollTo、scrollBy、Scroller
View与ViewGroup ViewGroup 可以理解为View的组合,它可以包含很多View以及ViewGroup,而它包含的ViewGroup又可以包含View和ViewGroup。以此类推,形成一个View数。