gpt4 book ai didi

android - 如何在 Kotlin 数据类中使用带空格的变量

转载 作者:行者123 更新时间:2023-12-05 00:17:47 26 4
gpt4 key购买 nike

上下文 :
我从 传递 x 值、y 值和 z 值Arduino加速度计传感器 Firebase 实时数据库 . Arduino 将值传递到实时数据库的方式如下所示(X 轴、Y 轴、Z 轴)。我无法更改将变量名称传递给 Firebase 的方式。我希望它像 x_axis , y轴 , 等等。

***FIREBASE REALTIME DATABASE

"data": {
"data1": {
"X Axis": 0.78,
"Y Axis": 0.91,
"Z Axis": 0.07
},
"data2": {
"X Axis": 0.23,
"Y Axis": 0.21,
"Z Axis": 0.43
}
}
我的 Kotlin 数据类以适应这种情况如下所示( 使用反引号在文件顶部定义变量和标识符抑制 + 关闭 IDE 设置中的 Identifier linting ):
@file:Suppress("IllegalIdentifier")
package com.example.projectxyz.model.user_list

data class DataMeasured(
val `X Axis`: Double = 0.00,
val `Y Axis`: Double = 0.00,
val `Z Axis`: Double = 0.00,
)
这是我在尝试构建应用程序时遇到的错误:
> Task :app:dexBuilderDebug FAILED
AGPBI: {"kind":"error","text":"com.android.tools.r8.internal.XI0: Space characters in SimpleName 'X Axis' are not allowed prior to DEX version 040","sources":[{"file":"C:\\01PrasanthCodes\\ProjectsPras\\1AndroidDevelopment\\Harinivas\\app\\build\\tmp\\kotlin-classes\\debug\\com\\example\\projectxyz\\model\\user_list\\DataMeasured.class"}],"tool":"D8"}
AGPBI: {"kind":"error","text":"com.android.tools.r8.internal.XI0: Space characters in SimpleName 'X Axis' are not allowed prior to DEX version 040","sources":[{"file":"C:\\01PrasanthCodes\\ProjectsPras\\1AndroidDevelopment\\Harinivas\\app\\build\\tmp\\kotlin-classes\\debug\\com\\example\\projectxyz\\model\\user_list\\DataMeasured.class"}],"tool":"D8"}
我有什么办法可以克服这个问题吗?太感谢了

最佳答案

您可以像这样定义数据类以从 firebase 获取数据并根据需要命名变量:

data class DataMeasured (
@PropertyName("X Axis") val x_axis: Double = 0.00,
@PropertyName("Y Axis") val y_axis: Double = 0.00,
@PropertyName("Z Axis") val z_axis`: Double = 0.00
)
如果序列化存在问题,可能是由于 IDE 生成的 getter 和 setter,请尝试使用 @get 和 @set 注释加强它们:
data class DataMeasured (
@set:PropertyName("X Axis")
@get:PropertyName("X Axis")
var x_axis: Double = 0.00,
@set:PropertyName("Y Axis")
@get:PropertyName("Y Axis")
var y_axis: Double = 0.00,
@set:PropertyName("Z Axis")
@get:PropertyName("Z Axis")
var z_axis`: Double = 0.00
)

关于android - 如何在 Kotlin 数据类中使用带空格的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72630807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com