摘要:RxJava2实战 第八章 RxJava的背压 1 背压 在RxJava中,会遇到被观察者发送消息太快以至于它的操作符或者订阅者不能及时处理相关的消息,这就是典型的背压(Back Pressure)场景。 BackPressure经常被翻译为背压,背压的字面意思比较晦涩,难以理解。它是指在异步场景下 阅读全文
posted @ 2019-11-19 17:25 段合江 阅读 (3) 评论 (0) 编辑
摘要:RxJava2实战 第七章 合并操作符和连接操作符 RxJava的合并操作符: startWith(): 在数据序列的开头增加一项数据。 merge: 将多个Observable合并为一个。 mergeDelayError(): 合并多个Observable,让没有错误的Observable都完成后 阅读全文
posted @ 2019-11-19 17:24 段合江 阅读 (4) 评论 (0) 编辑
摘要:RxJava2实战 第六章 条件操作符和布尔操作符 RxJava的条件操作符主要包括以下几个: amb(): 给定多个Observable,只让第一个发射数据的Obsrvable发射全部数据。 defaultIfEmpty(): 发射来自原始Observable的数据,如果原始Observable没 阅读全文
posted @ 2019-11-19 17:23 段合江 阅读 (3) 评论 (0) 编辑
摘要:RxJava2实战 第五章 变换操作符和过滤操作符 RxJava的变换操作符主要包括以下几种: map(): 对序列的每一项都用一个函数来变换Observable发射的数据序列。 flatMap() 、 concatMap() 和 flatMapIterable() :将Obsrvable发射的数据 阅读全文
posted @ 2019-11-19 17:23 段合江 阅读 (2) 评论 (0) 编辑
摘要:Rxjava2实战 第四章 Rxjava的线程操作 1 调度器(Scheduler)种类 1.1 RxJava线程介绍 默认情况下, 1.2 Scheduler | Sheduler | 作用 | | | | | single | 使用定长为1的线程池(new ScheduledThread Poo 阅读全文
posted @ 2019-11-19 17:22 段合江 阅读 (3) 评论 (0) 编辑
摘要:Rxjava2实战 第三章 创建操作符 Rxjava的创建操作符 | 操作符 | 用途 | | | | | just() | 将一个或多个对象转换成发射这个或者这些对象的一个Observable | | from() | 将一个Iterable、一个Future或者一个数组转换成一个Observab 阅读全文
posted @ 2019-11-19 17:19 段合江 阅读 (2) 评论 (0) 编辑
摘要:第二章 RxJava基础知识 1. Observable 1.1 RxJava的使用三步骤 1. 创建Observable 2. 创建Observer 3. 使用subscribe()进行订阅 subscribe()有多个重载方法: Consumer是消费者。 onComplete是一个Action 阅读全文
posted @ 2019-11-19 17:18 段合江 阅读 (2) 评论 (0) 编辑
摘要:1.IntentService 是什么 2. IntentService的执行方式是串行还是并行 串行 3. IntentService可以执行大量的耗时操作? 4. IntentService和Service的区别 5. IntentService的基本使用 1. 定义IntentService, 阅读全文
posted @ 2019-04-25 19:47 段合江 阅读 (29) 评论 (0) 编辑
摘要:1. 效果图 2. 布局文件 主要使用的 android:clipChildren的意思:是否限制子View在其范围内。再父布局和viewpager中设置该属性 ,要显示三个界面 ,还要设置marginleft和marginRight 3. Adapter 4.关键点PageTransformer 阅读全文
posted @ 2019-03-16 20:42 段合江 阅读 (536) 评论 (0) 编辑
摘要:1.简介 GitHub地址:https://github.com/arcadefire/nice-spinner Gradle中添加: 2.使用 xml文件: activity: 阅读全文
posted @ 2019-01-08 14:02 段合江 阅读 (1159) 评论 (1) 编辑
摘要:1.简介 GitHub地址:https://github.com/zcweng/SwitchButton gradle: 2.使用 xml中使用: activity.java: more style: 也可以直接把SwitchButton.java和switch_btton_attr.xml复制到项 阅读全文
posted @ 2019-01-08 11:20 段合江 阅读 (369) 评论 (0) 编辑
摘要:1.前言 EventBus是一款针对Android优化的发布/订阅事件总线。可以替代广播、startActivityForResult、Handler、异步回调等来实现各组件间、组件与后台线程间的通信。它的优点是开销小,代码更优雅,以及将发送者和接收者解耦。 通常我们在使用EventBus的时候都是 阅读全文
posted @ 2018-12-20 15:04 段合江 阅读 (95) 评论 (0) 编辑
摘要:1.引言 float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上 阅读全文
posted @ 2018-12-19 22:28 段合江 阅读 (260) 评论 (0) 编辑
摘要:1常规类型的格式化 1.1显示不同转换符实现不同数据类型到字符串的转换 转换符 说明 示例 %s 字符串类型 “mingrisof” %c 字符类型 'm' %b 布尔类型 true %d 整数类型(十进制) 99 %x 整数类型(十六进制) FF %o 整数类型(八进制) 77 %f 浮点类型 9 阅读全文
posted @ 2018-12-18 12:01 段合江 阅读 (285) 评论 (0) 编辑
摘要:以下sourcetree使用时出现的问题:可以暂时用删除passwd文件解决 进入 C:\Users\用户名\AppData\Local\Atlassian\SourceTree 删除这个目录下的passwd文件 阅读全文
posted @ 2018-12-07 14:20 段合江 阅读 (552) 评论 (0) 编辑
摘要:一.gitHub地址及介绍 https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh 二.6个配置参数 1.阻尼系数:Resistance//默认: 1.7f,越大,感觉下拉时越吃力。 2.触发刷新时移动的位置比例:RatioOfHeade 阅读全文
posted @ 2018-10-24 22:38 段合江 阅读 (256) 评论 (0) 编辑
摘要:首先,安装完 SourceTree 以后先运行一次,弹出初始化登录页面后退出。 打开 我的电脑,在最上方的地址栏直接输入以下地址: %LocalAppData%\Atlassian\SourceTree\在这个目录下新建一个名为 accounts.json 的文件。 在这个目录下新建一个名为 acc 阅读全文
posted @ 2018-10-13 11:44 段合江 阅读 (19) 评论 (0) 编辑
摘要:试验了好几个小时,看了很多方法,都不管用,运用一下设置好了,记录一下 1. 2.在项目的build.gradle中添加 阅读全文
posted @ 2018-10-08 21:55 段合江 阅读 (42) 评论 (0) 编辑
摘要:1.github地址 https://github.com/zhouxu88/BottomNavigationBar 2.基本使用 2,1添加依赖 2.2布局中使用 2.3代码中设置 2.4添加监听 3.知识点,用法说明。 3.1设置导航栏模式:setMode() 3.2设置导航栏背景模式:setB 阅读全文
posted @ 2018-10-04 19:36 段合江 阅读 (1811) 评论 (0) 编辑
摘要:代码完全复制:https://github.com/pinguo-zhouwei/CustomPopwindow 使用参考:上面的github地址 1.封装类 阅读全文
posted @ 2018-07-03 15:26 段合江 阅读 (163) 评论 (0) 编辑
摘要:1.打开设备管理器 右键计算机 -->管理-->选择设备管理器 2. 步骤如下: 1. 在设备管理器中,找到ADB Interface,右击,选择“更新驱动程序软件” 2. 在弹出的窗口中选择第二项,也就是“浏览计算机以查找驱动程序软件” (以前遇到驱动的问题从来不考虑第二项,单纯地认为驱动肯定要在 阅读全文
posted @ 2018-06-08 14:50 段合江 阅读 (253) 评论 (0) 编辑
摘要:报错提示: Caused by: java.lang.IllegalArgumentException: Unable to create call adapter for io.reactivex.Observable<com.example.retrofitdemo.http.BaseResul 阅读全文
posted @ 2018-06-07 14:31 段合江 阅读 (54) 评论 (0) 编辑
摘要:1.一些优秀的学习网站(Android) https://blog.csdn.net/yabg_zhi_xiang/article/details/51659136 2.UI LIbrary https://hndeveloper.github.io/2017/github-android-ui.h 阅读全文
posted @ 2018-05-29 15:30 段合江 阅读 (21) 评论 (0) 编辑
摘要:一.导航拦 1. FlycoTabLayout https://github.com/H07000223/FlycoTabLayout 2.CoordinatorTabLayout https://github.com/hugeterry/CoordinatorTabLayout 3.MargicI 阅读全文
posted @ 2018-05-22 16:13 段合江 阅读 (58) 评论 (0) 编辑
摘要:目的: 自定义一个ViewGroup,里面的子view都是TextView,每个子view TextView的宽度随内容自适应且每行的子View的个数自适应,并可以自动换行 一:效果图 二:代码 整个代码不是很多,注释都在代码中,比较简单,一般都可以看懂。 2.1:自定义属性 目录:res/valu 阅读全文
posted @ 2018-05-19 23:47 段合江 阅读 (635) 评论 (0) 编辑
摘要:DisplayUtils代码: Android Framework也提供了相应的工具类供我们使用的。TypedValue 中的 applyDimension() 方法: 使用方法: 阅读全文
posted @ 2018-05-19 18:35 段合江 阅读 (63) 评论 (0) 编辑
摘要:一.在项目下新建moudle,选择Java Library 二.DimenUtils类 三.运行生成文件 阅读全文
posted @ 2018-03-19 14:20 段合江 阅读 (83) 评论 (0) 编辑
摘要:一.xml数据格式 二、生成XML文件 2.1 Person类 2.2 生成XML文件 三、XML文件解析 3.1 pull方式 3.2 sax方式解析 3.3 Dom解析XML文件 阅读全文
posted @ 2018-03-10 17:19 段合江 阅读 (57) 评论 (0) 编辑
摘要:一 AIDL 是什么 AIDL(Android 接口定义语言) 是 Android 提供的一种进程间通信 (IPC) 机制。 我们可以利用它定义客户端与服务使用进程间通信 (IPC) 进行相互通信时都认可的编程接口。 在 Android 上,一个进程通常无法访问另一个进程的内存。 尽管如此,进程需要 阅读全文
posted @ 2018-03-09 15:02 段合江 阅读 (43) 评论 (0) 编辑
摘要:public class StorageUtils { private static String TAG="123"; // 获取主存储卡路径 内置内存卡路径 public static String getPrimaryStoragePath(Context context) { try { StorageManager s... 阅读全文
posted @ 2018-02-05 16:10 段合江 阅读 (68) 评论 (0) 编辑