Kotlin PoKo 和 Parcelize 注解

作者: TengFeiGo | 来源:发表于2019-08-26 10:13 被阅读0次
在Kotlin项目中集成PoKo

PoKo主要通过注解的方式定义在数据类上,data 修饰的 class 在Kotlin中表示数据类,它是默认没有“空构造方法”,所以 PoKo 的主要作用在于让被修饰的数据类具有空构造方法。

1、在你的项目中添加noarg和allopen插件

//在moudle的build.gradle文件中添加
apply plugin: 'kotlin-noarg'
apply plugin: 'kotlin-allopen'

2、在项目的build.gradle dependencies文件中添加

classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"

3、新建PoKo文件

@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.BINARY)
annotation class PoKo

4、在moudle的gradle文件与android闭包同级下添加

noArg {
    //PoKo的路径必须是你定义PoKo类的路径
    annotations "com.tengfei.common.anno.PoKo"
}

allOpen{
    annotations "com.tengfei.common.anno.PoKo"
}

注意点:你的所有数据类都非常有必要添加PoKo注解,为了避免莫名其妙的错误所有被data修饰的类都必须添加PoKo注解

使用 Parcelize 注解 简化序列化的操作

在序列化某个数据类的时候你需要实现 Parcelable 和 Serializable接口,Android中建议实现 Parcelable ,但你会发现需要重写一大堆方法,虽然有开发插件的帮助,你没必要自己写,但一个类中堆积了这么多代码看起来也非常的不舒服,Kotlin中有个非常好的方法来简化这一个步骤。

1、在你moudle的gradle文件中添加

//这个通常在你新建Kotlin项目的时候会自动添加
apply plugin: 'kotlin-android-extensions'

2、添加闭包

kotlin{
    experimental{
        coroutines "enable"
    }
    androidExtensions{
        experimental = true
    }
}

3、如何使用该注解,你只需要实现 Parcelable 接口,并在数据类上添加 @Parcelize 注解

@PoKo
@Parcelize
data class Plan(var name: String,
                var space: Int,
                var private_repos: Int,
                var collaborators: Int) : Parcelable

相关文章

  • Kotlin PoKo 和 Parcelize 注解

    在Kotlin项目中集成PoKo PoKo主要通过注解的方式定义在数据类上,data 修饰的 class 在Kot...

  • 翻译: Kotlin Android Extensions中的P

    原文 A study of the Parcelize feature from Kotlin Android E...

  • Kotlin 搭配 Parcelable + Parcelize

    如果没了解 Parcelable 建议自行了解再回来看该篇文章 直接进入主题,我们都知道,Kotlin有自己的空检...

  • Kotlin注解入门

    Kotlin使用annotation class关键字来定义注解。 一、定义注解 Kotlin不允许为注解定义注解...

  • Kotlin @Parcelize 标签无法使用,无索引

    想在Kotlin使用序列化,准备在对象上加@Parcelize方法时,发现无法找到该标签。 解决办法: 1、检查k...

  • Kotlin使用注解

    Kotlin的反射也提供了一些支持注解的API。 一、提取注解信息 Kotlin使用kotlin.Annotion...

  • Kotlin元注解

    Kotlin在kotlin.annotation包下提供了4个Meta注解(元注解),这4个元注解都用于修饰其他的...

  • Kotlin 注解的使用目标(Use-site Target)问

    Kotlin 注解的使用目标(Use-site Target)问题 在测试kotlin的注解的时候发现了些许问题 ...

  • Kotlin 注解

    Kotlin 的注解完全兼容 Java 的注解。 声明注解 可以通过向注解类添加元注解(meta-annotati...

  • Kotlin注解和反射

    简述 本篇文章主要介绍在注解和反射学习中的主要知识 注解的本质 注解实际上就是一种代码标签,它作用的对象是代码。它...

网友评论

    本文标题:Kotlin PoKo 和 Parcelize 注解

    本文链接:https://www.haomeiwen.com/subject/fpxrectx.html