Kotlin之应用Gson

引言


Gson是不是很简洁很容易上手呢?最主要的就两个方法toJson()和fromJson()将实体转为Json和将Json转为实体。

我之前没有使用过Gson,更不用说是用Kotlin了。由于使用的时间还不是很长,好不好用还真不好说。

我之前用惯了Json且有这个JsonHelper工具类的帮助,暂时性的认为没有JsonHelper好用且功能不如JsonHelper的实用。

主要是因为碰到了下文将要讲述的坑。

正文


我在编写项目的过程中,需要将一些暂时性的数据进行保存,自然而然的就想到了之前创建的SpUtils类将数据存储在SharedPreferences中。

于是写了两个方法,完美实现需求

        fun <T> getObject(key: String, cls: Class<T>): T {
            var value = getString(key, "")
            return gson.fromJson<T>(value, cls)
        }

        fun setObject(key: St
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio是一款用于开发Android应用程序的集成开发环境(IDE)。Kotlin是一种现代化的编程语言,它可以与Java无缝地集成在一起,并且在Android开发中越来越受欢迎。Gson是一个用于处理JSON数据的Java库,它可以将Java对象转换为JSON字符串,也可以将JSON字符串转换为Java对象。在使用KotlinGson解析JSON数据时,你可以使用Gson().toJson()方法将数据转换为JSON字符串,然后使用Gson().fromJson()方法将JSON字符串转换为Kotlin对象。这样可以方便地处理JSON数据,无论是单个对象还是数组。\[1\]\[2\]另外,对于Android 3.0到Android 7.0之间的版本,Bitmap对象和像素数据被统一放到Java堆中,这可能会导致内存消耗较大,并且可能会导致内存不足的问题。因此,在处理大量Bitmap对象时,需要注意内存管理,及时回收不再使用的Bitmap对象,以避免OOM(Out of Memory)错误。\[3\] #### 引用[.reference_title] - *1* *3* [Android开发高手课NOTE](https://blog.csdn.net/weixin_30571837/article/details/117510063)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【Android】Kotlin中使用Gson解析Array数组](https://blog.csdn.net/qq_43358469/article/details/124202031)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值