随笔分类 -  kotlin

摘要:android开发kotlin顶级函数和拓展函数的实现原理 //我们编写的源代码在MainActivity.kt下面,如下: fun topTest(){ print("123") } fun MainActivity.extTest(){ print("456") } class MainActi 阅读全文
posted @ 2023-02-12 00:30 yongfengnice 阅读(136) 评论(0) 推荐(0) 编辑
摘要:android开发kotlin编译出错Module was compiled with an incompatible version of Kotlin 问题描述 Module was compiled with an incompatible version of Kotlin. The bin 阅读全文
posted @ 2022-05-26 14:29 yongfengnice 阅读(12828) 评论(0) 推荐(0) 编辑
摘要:android开发如何让App永远不再发生java崩溃闪退的解决方法(仅包括java层异常引起的crash哦) 开源库地址:https://github.com/yongfengnice/NeverJavaCrash 问题描述 人无完人,即使技术再好,开发过程还是会因为这样那样原因,app发生了崩溃 阅读全文
posted @ 2022-05-16 18:32 yongfengnice 阅读(839) 评论(0) 推荐(0) 编辑
摘要:随着kotlin越来越流行,项目引入kotlin混编可能性越来越大,有时可能需要业务判断是java编写的还是是kotlin编写,今天折腾了一下,终于搞定编码过程如何判断一个类是java类还是kotlin类了 static boolean isKtClass(Object object) { Anno 阅读全文
posted @ 2022-05-15 18:50 yongfengnice 阅读(293) 评论(0) 推荐(0) 编辑
摘要:kotlin协程suspend关键字源码解析(可能有点乱,顺着分析顺着写点,将就看特别是看注释说明,相信还是有点收获的) //1. 自己编写的kotlin源代码 private val mainScope = MainScope() fun xSuspend(view: View) { mainSc 阅读全文
posted @ 2021-06-16 21:01 yongfengnice 阅读(788) 评论(0) 推荐(0) 编辑
摘要:区别:回调函数里面的this作用域不同,也就是this所指向的对象不同。1. T.() -> Unit 作为参数 //回调函数里this作用域是 类型T的实例 public inline fun <T> T.extFunc(block: T.() -> Unit): T { block() retu 阅读全文
posted @ 2020-01-20 12:57 yongfengnice 阅读(3925) 评论(0) 推荐(0) 编辑
摘要:class Foo { lateinit var lateInitVar: String fun checkInit() { if(this::lateInitVar.isInitialized){ //重要,this::前缀是必须的。 //如果已经初始化了,返回true } } } 阅读全文
posted @ 2019-08-15 00:43 yongfengnice 阅读(7653) 评论(0) 推荐(0) 编辑
摘要:Android开发使用kotlin编写的泛型模式的MVP框架。已经运用在多个真实的项目里面了。简洁简单好用。GitHub地址:https://github.com/yongfengnice/MvpKotlin 阅读全文
posted @ 2019-08-01 11:44 yongfengnice 阅读(1077) 评论(0) 推荐(0) 编辑
摘要:dagger2的使用总结: 0.@Inject标识的方法(一般是构造函数),由dagger2调用(@Inject方法由dagger2调用)。 1.@Inject标识的成员变量,表示该变量由dagger2自动初始化(@Inject变量由dagger2赋值)。 2.interface表示dagger2需要实现的接口,作用是实例化@Inject成员变量。 3.@Component(modules)指定... 阅读全文
posted @ 2019-07-30 15:05 yongfengnice 阅读(143) 评论(0) 推荐(0) 编辑
摘要:1. companion object //相当于java的 public static2. 当一个类或者接口只有一个抽象方法时,Lambda表达式可以使用随尾闭包。3. 修改kotlin编译器版本:打开setting -> other setting —> Kotlin Compiler -> kotlin to JVM 。4. 主次构造函数说明: class Message(val co... 阅读全文
posted @ 2019-07-27 17:13 yongfengnice 阅读(303) 评论(0) 推荐(0) 编辑
摘要:使用Android Studio 1.打开需要查看的kotlin文件 2.Tools -> Kotlin -> Show Kotlin Bytecode 3.点击decompile即可反编译出对应的java代码 阅读全文
posted @ 2019-07-27 16:03 yongfengnice 阅读(2892) 评论(0) 推荐(1) 编辑
摘要:out 相当于java里面的 in 相当于java里面的 阅读全文
posted @ 2019-05-12 20:16 yongfengnice 阅读(2707) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示