Android 将Firestore JSON对象分配给Kotlin中的变量
在我的Firestore中,我有一个“employee”节点,如下所示: 我正在将该节点分配给Kotlin中的“用户”对象:Android 将Firestore JSON对象分配给Kotlin中的变量,android,firebase,kotlin,google-cloud-firestore,Android,Firebase,Kotlin,Google Cloud Firestore,在我的Firestore中,我有一个“employee”节点,如下所示: 我正在将该节点分配给Kotlin中的“用户”对象: object User { val firstName: String = ""; val lastName: String = ""; val employeeId:String=""; val city:String = ""; val email:String=""; val salary:Number=0;
object User {
val firstName: String = "";
val lastName: String = "";
val employeeId:String="";
val city:String = "";
val email:String="";
val salary:Number=0;
val imgUrl:String="";
val employmentStatus:String="";
val employmentDate: ??????
}
我的问题是“employmentDate”应该是什么类型?在Typescript中,我正在做的只是:
employmentDate:{day:number,month:number,year:number}
我可以在Kotlin中执行类似操作吗?不要使用
对象<代码>对象
是kotlin中的单例类。相反,在kotlin中使用普通类并使用组合
class User{
val firstName: String = "";
val lastName: String = "";
val employeeId:String="";
val city:String = "";
val email:String="";
val salary:Number=0;
val imgUrl:String="";
val employmentStatus:String="";
var employmentDate: EmploymentDate = EmploymentDate()
class EmploymentDate{
val day:Int=0
val month:Int=0
val year:Int=0
}
}
不要使用
对象
<代码>对象是kotlin中的单例类。相反,在kotlin中使用普通类并使用组合
class User{
val firstName: String = "";
val lastName: String = "";
val employeeId:String="";
val city:String = "";
val email:String="";
val salary:Number=0;
val imgUrl:String="";
val employmentStatus:String="";
var employmentDate: EmploymentDate = EmploymentDate()
class EmploymentDate{
val day:Int=0
val month:Int=0
val year:Int=0
}
}
-ty先生,我希望能够在我的应用程序中的任何地方调用“User.firstName”,并获得firestore分配的firstName,因此我需要一个object/singleton,再次感谢您提供上述代码(y)您可以将其存储在共享首选项中或围绕其创建自定义的单例类包装器。您能澄清一下吗“围绕它的自定义单例类包装器”-正如您所说,对象就像kotlin中的Singletone,所以这就是我刚才所做的,我把我的用户放在Singletone中,猜想我误解了这里的某些内容…:s
object MySingleton{lateinit var myUser:User}/*从FireStore获取数据后的某个地方*/MySingleton.myUser=user
在此之后,您可以在任何地方使用singleton类进行访问。太好了-现在我明白了-这对sig-ty(y)-ty先生有很大帮助。我希望能够调用“user.firstName”“从我的应用程序中的任何地方获取firestore分配的名字,因此我需要一个对象/单个对象-再次感谢(y)上面的代码。您可以将其存储在共享首选项中,或者在其周围创建一个自定义单例类包装器。您可以将其清除为“自定义单例类包装器”吗?”-就像你说的,对象就像kotlin中的Singletone,所以这就是我刚才做的,我把我的用户放在Singletone中,猜测我在这里误解了什么…:sobject MySingleton{lateinit var myUser:User}/*从FireStore获取数据后的某处*/MySingleton.myUser=user
在此之后,您可以在任何地方使用singleton类进行访问。太好了-现在我明白了-这对sig-ty(y)有很大帮助