【发布时间】:2022-01-12 21:55:28
【问题描述】:
我想将 Android Studio Kotlin 中的数据类保存到 firebase。 我现在如何将普通数据(如字符串)保存到我的 RealtimeDatabase,但现在我还想存储一个 Image Uri,它是我的 DataClass 的一部分。
这就是我的数据类的样子:
data class ExerciseModel(
var fBid: String = "",
var exercise_name: String = "",
var muscle_group: String = "",
var image: Uri = Uri.EMPTY)
我已经实现了一个功能,我可以为我的 imageURI 获取图像并将其绑定到我的应用程序中的 imageView,我还可以使用以下功能上传没有图像的类。 类型为练习模型的数据类对于称为练习的数组列表是安全的。
override fun create(exercise: ExerciseModel) {
database = FirebaseDatabase.getInstance().reference
val key = database.push().key
key?.let{
exercise.fBid = key
exercises.add(exercise)
database.child("exercises").child(key).setValue(exercise)
}
}
现在我还想上传在我的上传到 Firebase 中包含图像并再次检索所有这些数据。以下是我在启动应用程序时检索所有数据的函数。
fun loadExerciseData(){
database = FirebaseDatabase.getInstance().getReference("exercises")
database.get().addOnSuccessListener {
if(it.exists()){
for(exerciseSnapshot in it.children){
val tempexercise = exerciseSnapshot.getValue(ExerciseModel::class.java)
exercises.add(tempexercise!!)
}
}
}
}
现在谁能帮我在从 fireBase 上传和检索数据时包含图像 Uri 吗?
【问题讨论】:
-
这段代码中到底有什么不符合您的预期?
-
它确实有效,但我不包括 Image Uri,因为我不确定如何通过使用存储来实现这一点
-
所以现在代码只有在我从数据类中删除图像 Uri 时才有效,如果我包含它它不起作用,因为我认为实时数据库不能只映射图像 Uri。但我不知道如何解决它
标签: android kotlin firebase-realtime-database firebase-storage