RxJava的blocking操作符

之所以有这样的场景,是因为当我想像 Stream API 那样使用 Observable 的时候出现了问题。所以就来了解一下 blocking 操作符到底是怎么样工作的。

阅读更多

RxJava使用Schedulers时进行的线程切换

默认情况下,RxJava 是单线程的。所谓单线程指的是,Observable 及所有的操作符都会我们调用 Subscribe 方法的线程上完成。我们可以通过 SubscribeOn 操作符来改变这一行为,通过用此操作符来指定 Observable 在不同的 Scheduler 上进行执行工作,而 ObserveOn() 用来告诉 Observable 往哪个 Scheduler 发送通知。

阅读更多

RxJava的聚合操作函数collect与groupby

RxJava 提供了一些类似与 stream 的方法,恰好我们在 API26 以下的安卓是无法使用 stream API的,所以尝试用这种方式来使用,但是会有坑的。

阅读更多

RxJava使用blockingGet造成麻烦问题

当使用 RxJava 和 Andorid 一起进行开发的时候,一不小心就中招了。一断不起眼的代码,就让线程永远的阻塞了下去。

阅读更多

关于RxJava操作符链式调用的理解

源于想要知道,对于链式调用背后的工作原理是什么,上游与下游间的通信是如何进行的。

阅读更多

关于在Module中添加aar包无效的问题

情况是因为要接入各种 SDK,大多都是以 aar 包的形式来提供的。所以想着将所有的 aar 包放在一个 module 内,其他 module 依赖这个 aar 包就行了。但显然,事实是残酷的,我想得太简单了呢。

阅读更多

使用Room进行持久化

Room 是谷歌推荐的架构组件之一,用来进行本地数据的持久化,其在 Sqlite 上提供了一些更方便使用的封装。但是事实上我感觉其使用相对 ObjectBox 好像更麻烦一些。

阅读更多

Android中的一些菜单

今天是遇到一个猥琐的需求,想要像现在的苹果一样,在 app 内截图,于是就用了一个 ImageView 来浮动,点击用 PopupWindow 来显示全部的内容。但是呢,还是不很清楚里面的原理,所以来回顾一下用过但没有深酒过的一些菜单用法。

阅读更多

Android中进行混淆的时候保留某些类的问题

之前与遇到过,对于某些类其实可以不用进行混淆的。比如对于 Gson 进行序列与反序列化的类,如果在默认的情况下进行了混淆的话,那么其将不能正确的进行解析出想要的结果,或序列化成我们想要的格式。(除非指定了 SerialableName 注解,但如果是嵌套了多种类型的话就比较麻烦了),所以之前遇到的时候是在 proguard-pro 中进行了一个 keep 的设置。

阅读更多

关于Python做数据库同步的一些库及使用

之前有用过 Python 来做 Oracle 与 MySQL, MySQL 与 MySQL 之间的同步。但是一直没有仔细探究这几个库的用法。现在就好好来看看。

阅读更多

<<<<<<< Updated upstream