android超长字符串分段处理

  • 根据字符串的长度是否超过定义的最大长度来做决定是否做分段打印
  • 以JSON格式展示分页数据
  private val LOG_MAX_LENGTH = 10
    
    /**
     * 根据字符串的长度是否超过定义的最大长度来做决定是否做分段打印
     */
    private fun handleStringLog(msg: String) {
        var pageNo = 1
        // https://blog.csdn.net/u011595939/article/details/70212552
        val totalPages: Int = (msg.length - 1) / LOG_MAX_LENGTH + 1
        LegoLog.d("总页数:$totalPages")
        // 日志长度超过最大长度分段打印
        if (msg.length > LOG_MAX_LENGTH) {
            var index = 0
            while (index < msg.length) {
                val subMsg: String = if (msg.length <= index + LOG_MAX_LENGTH) {
                    msg.substring(index)
                } else {
                    msg.substring(index, index + LOG_MAX_LENGTH)
                }
                conver2Json(msg.length, totalPages, pageNo, subMsg)
                pageNo++
                index += LOG_MAX_LENGTH
            }
        } else {
            conver2Json(msg.length, totalPages, pageNo, msg)
        }
    }

    private fun conver2Json(totalSize: Int, totalPages: Int, pageNo: Int, data: String){
        val jsonObj = JsonObject()
        jsonObj.addProperty("totalSize", totalSize)
        jsonObj.addProperty("totalPages", totalPages)
        jsonObj.addProperty("pageNo", pageNo)
        jsonObj.addProperty("pageSize", LOG_MAX_LENGTH)
        jsonObj.addProperty("data", data)
        LegoLog.d(jsonObj.toString())
    }

效果展示:

// 方法调用
handleStringLog("123456789")

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值