
kotlin
312nicole
这个作者很懒,什么都没留下…
展开
-
模板方法模式
常用并且简单,Java和kotlin实现没有什么区别。BaseActivity,BaseFragment等等一些抽象类。特点: 定义在基类里,不能更改。通过调用子类覆盖实现的方法来完成它的工作。abstract class BaseActivity: AppCompatActiivty(){ override fun onCreate(saveInstanceSta...原创 2019-10-18 15:40:16 · 160 阅读 · 0 评论 -
kotlin实现 Activity和Fragment高频代码较好的实现
Activity间的数据传递Intent传递数据 val intent = Intent(context, TranslucentActivity::class.java).apply { putExtra(Const.IntentParamsKey.OBJECT_ID, objectId) } context....原创 2019-10-17 22:54:47 · 988 阅读 · 0 评论 -
kotlin 启动Activity优雅的启动方式
来自于 wanandroid,做个记录inline fun <reified T : Activity> Activity.startKtxActivity(flags: Int? = null, extra: Bundle? = null) = startActivity(getIntent<T>(flags, extra))inline fun <r...原创 2019-10-13 22:35:50 · 2047 阅读 · 0 评论 -
kotlin reified使用
reifiedreified关键字只能标记实化类型参数的内联函数,不能作用于类和属性。不能在java中调用。调用时候直接使用泛型的类型。refied原理基于inline函数的特性,泛型函数类型实参进行实化,在运行时候能拿到类型实参的信息。每次调用带实化类型参数的函数时,编译器知道调用中作为泛型类型实参的具体类型,只要生成对应不同类型实参调用的字节码插入调用点即可。使用场景:不需要传参...原创 2019-10-13 22:30:10 · 890 阅读 · 0 评论 -
kotlin 属性优雅的声明定义
kotlin属性定义和声明是要求必须做好初始化基本数据类型开始初始化的时候给属性赋值个默认值private var currentPage = 0private var isCanFished = false或者通过使用 Delegates.notNull()private var currentPage by Delegates.notNull<Int>()priv...原创 2019-10-12 14:05:34 · 621 阅读 · 0 评论 -
kotlin随堂笔记
这里写自定义目录标题访问修饰符openfor循环对象对象表达式对象声明伴生对象对象表达式和对象声明之间的语义差异静态变量和静态方法lateinitlet函数also函数with函数run函数apply函数kotlin JVM 常用注解参数解析协程访问修饰符openkotlin中默认类和方法是final,如果允许创建一个类的子类,需要使用open修饰符来表示这个类,另外需要给每一个可以被重写的属...原创 2019-09-23 17:50:37 · 183 阅读 · 0 评论 -
kotlin 委托
委托属性特点:常见的属性类型,交给委托类统一实现,避免每个类都要单独重复实现一次语法: val/var <属性名>: <类型> by <表达式>by后面的表达式是委托,会被委托给它用operator修饰的getValue()函数 (于setValue()函数 ->对应于var属性)属性委托要求val声明的,委托必须提供一个名为getValue的函...原创 2019-10-10 16:22:12 · 203 阅读 · 0 评论