Android Kotlin测试中的Intent putExtra值
创始人
2024-08-14 14:00:13
0

在Android Kotlin测试中,可以使用以下方法为Intent的putExtra方法设置值:

  1. 使用Intent的putExtra方法设置基本数据类型的值,如字符串、整数、布尔值等。
val intent = Intent()
intent.putExtra("key", "value")
intent.putExtra("count", 10)
intent.putExtra("isSuccess", true)
  1. 使用Intent的putExtra方法设置Parcelable对象的值。首先,需要在被传递的对象类中实现Parcelable接口。
data class User(val name: String, val age: Int) : Parcelable {
    constructor(parcel: Parcel) : this(
        parcel.readString() ?: "",
        parcel.readInt()
    )
    
    override fun writeToParcel(parcel: Parcel, flags: Int) {
        parcel.writeString(name)
        parcel.writeInt(age)
    }

    override fun describeContents(): Int {
        return 0
    }

    companion object CREATOR : Parcelable.Creator {
        override fun createFromParcel(parcel: Parcel): User {
            return User(parcel)
        }

        override fun newArray(size: Int): Array {
            return arrayOfNulls(size)
        }
    }
}

val user = User("John", 25)
intent.putExtra("user", user)
  1. 使用Intent的putExtra方法设置序列化对象的值。被传递的对象类需要实现Serializable接口。
data class Product(val name: String, val price: Double) : Serializable

val product = Product("Phone", 500.0)
intent.putExtra("product", product)

注意:在测试中,可以使用Intent的getStringExtra、getIntExtra、getBooleanExtra等方法获取putExtra设置的值,并进行断言或验证。

val value = intent.getStringExtra("key")
assertEquals("value", value)

val count = intent.getIntExtra("count", 0)
assertEquals(10, count)

val isSuccess = intent.getBooleanExtra("isSuccess", false)
assertTrue(isSuccess)

val user = intent.getParcelableExtra("user")
assertEquals("John", user?.name)
assertEquals(25, user?.age)

val product = intent.getSerializableExtra("product") as? Product
assertEquals("Phone", product?.name)
assertEquals(500.0, product?.price)

相关内容

热门资讯

玩家必看科普!天天微友助手破解... 玩家必看科普!天天微友助手破解版,哥哥打大a辅助神器,详细挂(有挂方针)一、天天微友助手破解版可以开...
现有关情况通报如下!pokem... 现有关情况通报如下!pokemmo辅助器手机版下载,智星德州插件怎么下载,真是是真的有挂(详细教程)...
查到实测!决战十三辅助辅助器,... 查到实测!决战十三辅助辅助器,互游辅助,详细神器(有挂透明挂)1、玩家可以在决战十三辅助辅助器透视最...
此事引发广泛关注!hhpoke... 此事引发广泛关注!hhpoker可以控制牌吗,德扑之星怎么设置埋牌,竟然是真的有挂(存在有挂)1、点...
大家学习交流!龙岩优优辅助,卡... 大家学习交流!龙岩优优辅助,卡农血拼辅助,详细app(有人有挂)小薇(辅助器软件下载)致您一封信;亲...
备受关注的!wpk透视工作室,... 备受关注的!wpk透视工作室,智星德州插件最新版本更新内容详解,原来是有挂(有挂技巧)1、超多福利:...
分享一款!赣南必胜辅助,连连看... 分享一款!赣南必胜辅助,连连看辅助源码,详细攻略(有挂方略)连连看辅助源码透视方法中分为三种模型:连...
据统计!wepoker作弊视频... 据统计!wepoker作弊视频,德普之星怎么开辅助,一贯真的是有挂(有挂技巧)1、用户打开应用后不用...
终于清楚!边锋小程序辅助免费,... 终于清楚!边锋小程序辅助免费,广东闲来辅助免费,详细工具(有挂规律)边锋小程序辅助免费脚本下载中分为...
黑科技辅助挂!hhpoker俱... 黑科技辅助挂!hhpoker俱乐部是干嘛的,德扑之星怎么设置埋牌,总是存在有挂(有挂教程)1、让任何...