4 赵彦军

尚未进行身份认证

我要认证

android开发工程师、烧菜能手、暖男

等级
TA的排名 5k+

Android RxJava 3.x 使用总结

依赖接入implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'implementation "io.reactivex.rxjava3:rxjava:3.0.4"Flowable//java 方式Flowable.just(1) .subscribe(new Consumer<Integer>() { @Override public void accept(Integ

2020-06-12 20:50:18

Kotlin实战指南十五:协程泄漏

转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/95626034本文出自【赵彦军的博客】协程泄漏的本质协程泄漏的本质是协程里的线程泄漏coroutines 引用implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.2.1"GlobalScopeclass MainActivity : AppCompatActivity() { v.

2020-05-28 21:22:28

Java 8 Stream 使用

转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/106197857本文出自【赵彦军的博客】目录1、基础概念filter 过滤findFirst 查找第一个sorted 从小到大排序map 方法用于映射每个元素到对应的结果limit 获取指定数量的流collect 将流转换成集合和聚合元素average 求平均值1、基础概念Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使.

2020-05-27 20:20:07

Android GooglePay 填坑录

这里写自定义目录标题1、发版坑欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入最近我接了一个大活,领导要求 app接入google支付,来应对商业化变现困局。说干就干,经过2周的洗礼,我也算

2020-05-21 20:30:40

Android Google Play app signing 最终完美解决方式

在 GooglePlay 创建 App 的时候,一不小心勾选了 谷歌签名保护计划,就非常坑,为什么非常坑,因为这个一旦加入,就无法退出,后面的坑就后患无穷。这里普及一下 谷歌签名保护计划:简单来说,就是apk上传到 GooglePlay 后,GooglePlay 会替换你的签名,实际上用户下载的 APK 的签名并不是你最初上传的签名,而是 GooglePlay 自己的签名,这个签名存放在 Go...

2020-04-16 19:22:53

Android Facebook登陆获取 Key Hashes值

方式一: 代码生成import android.content.Context;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.content.pm.Signature;import android.util.Base64;import java....

2020-04-06 15:34:04

Android输出签名的 SHA1 值

方式一:使用 gradle 命令./gradlew app:signingReport或者输出:方式二:使用命令行方式keytool -printcert -jarfile app-enjoyReader-daily-20200402110708.apk输出:

2020-04-06 12:51:55

Android LiveData组件详解以及LiveDataBus

转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/99749323本文出自【赵彦军的博客】一、LiveData简介LiveData 是一个可以被观察的数据持有类,它可以感知 Activity、Fragment或 Service 等组件的生命周期。简单来说,他主要有一下优点。它可以做到在组件处于激活状态的时候才会回调相应...

2019-08-19 19:20:38

Android Lifecycle 生命周期组件详解

dsd一、Lifecycle简介为什么要引进Lifecycle?我们在处理Activity或者Fragment组件的生命周期相关时,不可避免会遇到这样的问题:我们在Activity的onCreate()中初始化某些成员(比如MVP架构中的Presenter,或者AudioManager、MediaPlayer等),然后在onStop中对这些成员进行对应处理,在onDestroy中释放这些资...

2019-08-17 18:10:37

Kotlin实战指南十四:协程启动模式

转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/95626034本文出自【赵彦军的博客】文章目录协程启动DEFAULTLAZYATOMICUNDISPATCHED附录参考资料协程启动说了这么多线程,原因嘛,毕竟大家对它是最熟悉的。协程的 API 设计其实也与之一脉相承,我们来看一段最简单的启动协程的方式:Globa...

2019-07-15 20:12:32

Kotlin实战指南十三:协程

转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/95626034本文出自【赵彦军的博客】文章目录前言-协程介绍主流语言对协程的支持Android 项目引用创建一个协程前言-协程介绍协程又称微线程,从名字可以看出,协程的粒度比线程更小,并且是用户管理和控制的,多个协程可以运行在一个线程上面。那么协程出现的背景又是什么呢...

2019-07-12 16:44:24

Kotlin实战指南十二:data class

转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/94649274本文出自【赵彦军的博客】文章目录前言正文toString()copy()前言在 kotlin 中我们定义一个模型类,比如 User 类 ,如下class User (var id:Int,var name:String)如果我们要打印输出 User...

2019-07-04 20:32:52

Kotlin实战指南十一:扩展函数

转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/94640013本文出自【赵彦军的博客】高阶函数filterfilterNot例子1:操作List例子2:操作Map更多操作 filterKeys、filterValuestake、takeLastsortedBy 排序map 数据结构变化filter过滤list,符合...

2019-07-04 18:17:40

Kotlin实战指南十:let、apply、with、run

转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details//94402604本文出自【赵彦军的博客】高阶函数let示例1:基础用法示例2:返回值letlet可以配合可空性 “?”来使用,如果data=null 则不执行let内部代码,如果有返回值则直接返回null在let中,用it表示引用对象,并可调用其方法,it不可省略。...

2019-07-01 18:34:39

Kotlin实战指南九:延迟初始化

转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/93764289本文出自【赵彦军的博客】高阶函数lateinit 延迟初始化lazy 延迟初始化Koltin中属性在声明的同时也要求要被初始化,否则会报错。例如以下代码:private var name0: String //报错private var name1: ...

2019-06-26 18:55:04

Kotlin实战指南八:高阶函数

转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/87969098本文出自【赵彦军的博客】高阶函数filterfilterNot例子1:操作List例子2:操作Map更多操作take、takeLastfilter过滤list,符合过滤条件的就是过滤结果var list = mutableListOf(1, 2, 3,...

2019-03-31 23:25:25

Kotlin实战指南七:单例模式

转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/87877529本文出自【赵彦军的博客】单例模式单例模式单例模式在 Java 中单例模式有很多种写法,比如懒汉模式,恶汉模式。但是在 Kotlin 种的单例模式就简单很多,用 object 修饰的类就是单例。object User { var name: St...

2019-02-26 18:43:45

Kotlin实战指南六:可空类型、非可空类型

转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/87877529本文出自【赵彦军的博客】可空类型、非可空类型变量可空类型方法可空处理变量可空类型对于变量来说,我们是可以对其再次赋值的,在赋值的时候,这个值是有可能是空类型,也可能是非空类型。如果是空类型,就有可能在后续的操作的过程中,出现类似 java 的空指针异常,...

2019-02-22 14:45:28

Kotlin实战指南五:继承、接口

转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/87874895本文出自【赵彦军的博客】继承、接口继承子类有主构造函数子类没有主构造函数子类重写父类的方法属性重写接口实现接口接口中的属性接口继承解决覆盖冲突继承在 Kotlin 中所有类都有一个共同的超类 Any,这对于没有超类型声明的类是默认超类:class Ex...

2019-02-22 14:06:32

Kotlin实战指南四:区间

转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/87866868本文出自【赵彦军的博客】Kotlin初体验四:区间区间实用函数区间区间表达式由具有操作符形式 … 的 rangeTo 函数辅以 in 和 !in 形成。 区间是为任何可比较类型定义的,但对于整型原生类型,它有一个优化的实现。以下是使用区间的一些示例:i...

2019-02-21 19:50:05

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取