暂无个人介绍
RxJava2 / RxAndroid2操作符ofType:根据类型选择输出结果 例如: package zhangphil.
RxJava2 / RxAndroid2操作符distinct去重 distinct去除重复的数据,例如: package zhangphil.
RxJava2 / RxAndroid2操作符skip 顾名思义,skip跳过,例如: package zhangphil.
RxAndroid2 / RxJava2简单的CompletableObserver CompletableObserver简单的用法跟踪一个任务的结束,不处理复杂的数据传导,例如:package zhangphil.
RxJava2 / RxAndroid2的过滤器filter filter完成一个条件过滤和筛选,从Observable的输出数据中,经过filter筛选一层,如果filter判断的值为真,则交给观察者,否则跳过,例如代码:package zhangphil.
RxJava2 / RxAndroid2操作符take take操作获取一系列Observable输出结果的之前的数据作为最终输出,以后的不予处理,例如代码:package zhangphil.
RxJava2 / RxJava2操作符scan scan操作符将Observable的结果在BiFunction扫描一遍后交给Observer使用,scan最大的功用是在BiFunction里面的apply里面做一次计算,有条件、有筛选的输出最终结果,例如代码例子:package zhangphil.
RxJava2 / RxAndroid2的concat拼接多个Observable concat操作符和merge类似,把多个Observable拼接成一个可以观察的输出,例如代码: package zhangphil.
RxJava2/RxAndroid2的merge操作合并多个Observable RxAndroid2/RxJava2的merge操作合并若干个Observable为单个可观测的Observable,形成单一线性的Observable输出结果,例如代码:package zhangphil.
Android之RxAndroid2、RxJava2的zip应用场景及示例 RxAndroid2、RxJava2的zip操作目的是为了合并两个Observable并最终发射一个单一的Observable结果。
Android轻便易用的文件选择器ExFilePicker 在新版的Android中(如Android 7.0+),文件选择由于权限限制,Uri变化,文件资源路径格式改版等等,变得比较复杂起来,比如,得在Androidmanifest配置FileProvider完了还得写xml目录下的文件path这些等等。
Android动态获取运行时权限RxPermissions 新版的Android权限控制更加严格,一般需要在APP的运行时动态获取,如果按照谷歌官方的方法比葫芦画瓢获取动态运行时权限,代码比较繁琐,如果和业务逻辑再搅和在一起,代码的可读性变得比较差,因此一些第三方的运行时权限获取库因运而生。
OkHttpClient加载图片给DisposableObserver,CompositeDisposable调度控制后台任务队列简单代码 实现一个简单的功能,点击按钮,触发OkHttpClient加载图片给DisposableObserver,然后刷新ListView。
Android二维码扫码ZXing,barcodescanner和BGAQRCode-Android技术比较 Android二维码扫描是一种常见的功能开发,但是技术选型不当会造成初期开发难度大、后期维护成本高。
Android二维码扫描:基于barcodescanner 二维码扫描现在成为一种非常常见的APP基础功能,附录1是我曾经用过的二维码/条形码扫描开源项目,但是附录1的项目集成和二次定制比较繁琐和麻烦,因此可以发现不...
Android弹幕实现:基于B站弹幕开源系统(5)-抽象和复用 改造和整理了附录1,2,3,4的代码工程,出于未来可二次复用和定制的原则,我把这些代码共享到github上,链接地址:https://github.
Android弹幕实现:基于B站弹幕开源系统(4)-重构 弹幕在视频播放的APP中比较常见,但是逻辑比较复杂,现在在附录1,2,3的基础上,我再次对弹幕进行抽象和重构,把弹幕从底向上抽象成不同的层,便于复用。
Android弹幕实现:基于B站弹幕开源系统(3) 本文在附录1,2的基础上再次对异步获取弹幕并显示弹幕完善逻辑和代码,集中在上层Java代码部分: package zhangphil.
Android弹幕实现:基于B站弹幕开源系统(2) 在附录1的基础上,模拟实现一种实际开发的应用场景:从网络中不间断的周期取弹幕数据,这些弹幕数据往往是批量的,然后把这些从网络中取到的批量数据逐个的显示出来。
Android弹幕实现:基于B站弹幕开源系统(1) 如今的视频播放,流行在视频上飘弹幕。这里面做的相对比较成熟、稳定、使用量较多的弹幕系统,当推B站的弹幕系统,B站的弹幕系统已经作为开源项目在github上,其项目地址:https://github.com/Bilibili/DanmakuFlameMaster 以B站开源的弹幕项目为基础,现给出一个简单的例子,实现发送简单的文本弹幕。
RxAndroid、RxJava的PublishSubject改造Observable 在附录1的基础上,用RxAndroid、RxJava的PublishSubject改造Observable,同时用OkHttp实现网络请求。
RxAndroid、RxJava的fromCallable更新数据加载到ListView简例 Java代码: package zhangphil.
RxAndroid和RxJava结合OkGo示例请求网络图片加载到不同ImageView 代码: package zhangphil.
Java ConcurrentLinkedQueue队列线程安全操作 代码示例: package async; import java.
intervalRange以一个例子说明:从1开始输出10个数据,延迟0秒执行,每隔2秒执行一次: package zhangphil.
Android响应式编程开发RxAndroid(6):range range的参数意义,range(x,count),从x起,发射count个数据,例如代码: package zhangphil.
Android视频播放器屏幕左侧边随手指上下滑动亮度调节变暗变亮原理实现(2):后续改进 附录文章1虽然实现了在屏幕左半边随手指上滑/下滑实现明暗度的调节,但是有一个不完美的地方:当手指在屏幕左半边水平左滑/右滑时候,也一样会触发明暗度的调节。
Java线程调度ScheduledThreadPoolExecutor简单使用样例 代码例子: package test; import java.
Android响应式编程开发RxAndroid(5):RxJava 2.0的Consumer RxJava 2.0引入的Consumer相当于1.0时候的Action。
Android响应式编程开发RxAndroid(4):flatMap RxAndroid的map通过Function把一个对象转换为另外一个对象,作为结果输出。
Android响应式编程开发RxAndroid(3):map RxJava中的map通过Function(函数)做一次结果转换,例如把输入源的数据转换处理成大写: package zhangphil.
Android响应式编程开发RxAndroid(2):简单例程的Android改造 附录1的Android响应式编程开发代码规范,遵循的是RxJava样式,可以正常运行。
Android响应式编程RxAndroid(1):简单例程 响应式Android编程开发,在github上的项目地址:https://github.com/ReactiveX/RxAndroid,设计原则类比Java观察者模式,给出一个简单例子,假设一个数据源,观察者观察数据源,然后做出简单的动作比如输出。
Android视频播放器屏幕左侧边随手指上下滑动亮度调节变暗变亮原理实现 Java代码:package zhangphil.
Android SmartTabLayout worm蠕虫蠕动/普通平整动画切换动画属性 Android SmartTabLayout在github上的开源项目主页:https://github.
package demo; import java.util.ArrayList; import java.util.Collections; /** * * 反转一个List,关键是使用Collections...
Android getDrawable过时问题,在低版本上如果仍需要getDrawable,则可以考虑使用此方法: ContextCompat.
Android RecyclerView单击、长按事件:基于OnItemTouchListener +GestureDetector标准实现(二),封装抽取成通用工具类 我写的附录文章2,介绍了Android如何基于...
Android RecyclerView单击、长按事件:基于OnItemTouchListener + GestureDetector标准实现 Android RecyclerView虽然拥有ListView绝大多数...
Android ViewPager Fragment使用懒加载提升性能 Fragment在如今的Android开发中越来越普遍,但是当ViewPager结合Fragment时候,由于Android ViewPager...
Android快捷便利但不常被使用的原生工具类 Android SDK原生 API中,有一些常用的工具类,运用得当可以省事省力省时,何况还是Android官方提供的,现在收集整理一些出来。
Android TextView图文混合编排 实现技术细节不难,两个要点:1、html代码的混合编写。2,重写ImageGetter。
Android Priority Job Queue (Job Manager):多重不同Job并发执行并在前台获得返回结果(四) 在Android Priority Job Queue (Job Manager)中,如果两个或者若干多个完全不同的Job子任务并发执行,如何在前台获得返回结果呢?现在给出一个例子说明。
Android屏幕适配一直是一个头疼的问题。除此之外还要考虑APP在实际应用场景中,用户千奇百怪的设置,最常见的用户设置行为就是设置手机的字体大小,比如把字体设置成超大或者超小,这对屏幕适配又带来额外的问题。
比如可以这样写代码,CardView就变成普通的FrameLayout:
Java可变参数/可变长参数 传递的参数不确定长度,是变长的参数,例如小例子: package demo; public class Demo { public static int sum(int n, int.
Android白天/夜间模式Day/Night Mode标准原生SDK实现 章节A:Android实现白天/夜间模式主要控制器在于UiModeManager,UiModeManager是Android系统SDK本来就提供好的白天/夜间模式的实现控制系统。
Android RecyclerView添加Header头部 Android RecyclerView不像以前的ListView那样直接添加头部,如果要给RecyclerView增加头部,则需要自己写或者使用第三方开源项目。
Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果 附录1简单介绍了Android开源的图片加载框架。
Android Priority Job Queue (Job Manager):后台线程任务结果传回前台(三) 在附录文章4,5的基础上改造MainActivity.java和MyJob.java,改造后的代码,将使MyJob在后台完成线程任务后返回数据给前台。