相关疑难解决方法(0)

Kotlin 中的 String 属性可以有多长?

我创建了简单的Base64Images辅助类,其中包含此主体:

companion object{
  val ABSTRACT_COLORS = "[image encoded in base64]"
}
Run Code Online (Sandbox Code Playgroud)

ABSTRACT_COLORS实际上是一个有 570438 个字符的字符串。

在编译过程中我得到:

org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Failed to generate property ABSTRACT_COLORS
...
...
The root cause was thrown at: ByteVector.java:213 at org.jetbrains.kotlin.codegen.MemberCodegen.genFunctionOrProperty(MemberCodegen.java:205)
Caused by: java.lang.IllegalArgumentException
Run Code Online (Sandbox Code Playgroud)

我认为我可以在字符串中存储2147483647 (2 31 - 1) 个字符。

这是为什么?

我在下面发布了这张图片。
您可以使用此工具生成base64。

提示:编辑此类或编译项目会冻结 Android Studio。
我会使用一些轻量级编辑器来编辑并使用终端来编译它。

在此输入图像描述

base64 android kotlin

5
推荐指数
1
解决办法
2208
查看次数

在Kotlin中bufferedReader()到底如何工作?

所以我试图从.json我的Android项目中的文件中读取数据:

val file = context.assets.open("myfile.json").bufferedReader().readText()
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,并成功将我的.json文件作为一个文件输出String

但是我想知道到底是什么bufferedReader(),为什么.readText()不能直接在打开的.json文件上调用它。

PS:readText()返回String。然而:

val json2: JSONObject = JSONObject("mystring") 返回:

Caused by: org.json.JSONException: Value mystring of type java.lang.String cannot be converted to JSONObject
Run Code Online (Sandbox Code Playgroud)

这有什么意义?

android json kotlin

5
推荐指数
2
解决办法
689
查看次数

如何使用kotlin Android从Url读取JSON?

我正在使用kotlin开发应用程序.现在我想从服务器获取JSON数据.

在java中我实现了Asyntask以及Rxjava,用于从Url读取JSON.我也在谷歌搜索,但我无法得到我的要求的正确细节.

如何使用kotlin从Url读取JSON?

android kotlin rx-kotlin

1
推荐指数
3
解决办法
1万
查看次数

标签 统计

android ×3

kotlin ×3

base64 ×1

json ×1

rx-kotlin ×1