将数据快照从 Java 转换为 Kotlin

ste9206

我在 Kotlin 的开头,所以我想转换这部分代码:

Query query = reference.child("users");

query.addValueEventListener(new ValueEventListener() {

    public void onDataChange(DataSnapshot dataSnapshot) {
        Users users = null;

        for (DataSnapshot d: dataSnapshot.getChildren()) {
            users = d.getValue(Users.class);

            if (users.getEmail().equals(mail)) {
              photoUri = users.getPhotos();
              nameSurname = users.getNome() + " " + users.getCognome();
              break;
            }
        }

        if (photoUri != null) {
            Glide.with(MainActivity.this)
                 .load(photoUri)
                 .transform(new CircleTransform(MainActivity.this))
                 .into(profile);
        }
        else {
            Glide.with(MainActivity.this)
                 .load(graphic)  
                 .transform(new CircleTransform(MainActivity.this))
                 .into(profile);
        }
    }

    public void onCancelled(DatabaseError databaseError) {
    }

});

到科特林。所以我做了这个代码:

class DataReferenceService @Inject constructor(private var auth: FirebaseDatabase) 
        : MainContract.DatabaseRepository,ValueEventListener {

    var mail: String? = null

    override fun getImageProfile(mail: String?) {
        this.mail = mail
        val query = auth.reference.child("users")
        query.addValueEventListener(this)
    }

    override fun onCancelled(p0: DatabaseError?) {
    }

    override fun onDataChange(data: DataSnapshot?) {
        var user: User? = null

        data?.children?.forEach {
            child -> getPhotos(child)
        }
    }

    fun getPhotos(child: DataSnapshot) {
        val user = child.getValue(User.class) // name expected, why ???
    }
}

问题在评论中指出,为什么不转换它?有没有其他方法可以做到?我想使用takeIf{}但我不明白如何使用它。

谢谢

zsmb13

Java 的等价物User.classUser::class.java在 Kotlin 中。

关于这个的文档在这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

将Kotlin数组转换为Java varargs

来自分类Dev

将 Java 线程转换为 Kotlin

来自分类Dev

将泛型从 Java 转换为 Kotlin

来自分类Dev

如何将Java文件转换为Kotlin文件?

来自分类Dev

IntelliJ的IdeaVim插件禁止将Java转换为Kotlin

来自分类Dev

将静态变量从Java转换为Kotlin

来自分类Dev

将mongodb聚合查询转换为Java / Kotlin Spring Data

来自分类Dev

将Java转换为Kotlin错误后实施代码

来自分类Dev

如何将Java文件转换为Kotlin文件?

来自分类Dev

将 Java 转换为 Kotlin 代码时的错误

来自分类Dev

将 Java 转换为 Kotlin(以函数为参数)

来自分类Dev

将 kotlin 转换为 java 以传递给 Firestore

来自分类Dev

努力将 java RxBle 代码转换为 Kotlin

来自分类Dev

将具有数据绑定的Android项目从Java转换为Kotlin

来自分类Dev

使用kotlin字节码将Kotlin转换为Java会给Java代码带来错误

来自分类Dev

Java函数转换为Kotlin失败

来自分类Dev

Java 8 Lambda转换为Kotlin Lambda

来自分类Dev

从Java转换为Kotlin使我感到困惑

来自分类Dev

从 Java 转换为 Kotlin 后 onCreate 崩溃

来自分类Dev

是否将 Kotlin 文件转换为 Java、向其中添加 Java 代码并转换回 Kotlin 与将代码直接添加到 Kotlin 文件相同?

来自分类Dev

将Spring Java8 Junit测试转换为Kotlin时摆脱Lateinit

来自分类Dev

如何将Java源文件的一部分转换为Kotlin?

来自分类Dev

如何将java.util.stream.Stream <Something>转换为kotlin.Sequence <Something>

来自分类Dev

将Java类转换为Kotlin后,如何解决:“错误:找不到符号类...”?

来自分类Dev

如何将Java赋值表达式转换为Kotlin

来自分类Dev

将适配器代码从Java转换为Kotlin时出现的问题

来自分类Dev

将Spring Java8 Junit测试转换为Kotlin时摆脱Lateinit

来自分类Dev

将Java类转换为Kotlin后,如何解决:“错误:找不到符号类...”?

来自分类Dev

将具有继承关系的Java bean转换为Kotlin的问题

Related 相关文章

  1. 1

    将Kotlin数组转换为Java varargs

  2. 2

    将 Java 线程转换为 Kotlin

  3. 3

    将泛型从 Java 转换为 Kotlin

  4. 4

    如何将Java文件转换为Kotlin文件?

  5. 5

    IntelliJ的IdeaVim插件禁止将Java转换为Kotlin

  6. 6

    将静态变量从Java转换为Kotlin

  7. 7

    将mongodb聚合查询转换为Java / Kotlin Spring Data

  8. 8

    将Java转换为Kotlin错误后实施代码

  9. 9

    如何将Java文件转换为Kotlin文件?

  10. 10

    将 Java 转换为 Kotlin 代码时的错误

  11. 11

    将 Java 转换为 Kotlin(以函数为参数)

  12. 12

    将 kotlin 转换为 java 以传递给 Firestore

  13. 13

    努力将 java RxBle 代码转换为 Kotlin

  14. 14

    将具有数据绑定的Android项目从Java转换为Kotlin

  15. 15

    使用kotlin字节码将Kotlin转换为Java会给Java代码带来错误

  16. 16

    Java函数转换为Kotlin失败

  17. 17

    Java 8 Lambda转换为Kotlin Lambda

  18. 18

    从Java转换为Kotlin使我感到困惑

  19. 19

    从 Java 转换为 Kotlin 后 onCreate 崩溃

  20. 20

    是否将 Kotlin 文件转换为 Java、向其中添加 Java 代码并转换回 Kotlin 与将代码直接添加到 Kotlin 文件相同?

  21. 21

    将Spring Java8 Junit测试转换为Kotlin时摆脱Lateinit

  22. 22

    如何将Java源文件的一部分转换为Kotlin?

  23. 23

    如何将java.util.stream.Stream <Something>转换为kotlin.Sequence <Something>

  24. 24

    将Java类转换为Kotlin后,如何解决:“错误:找不到符号类...”?

  25. 25

    如何将Java赋值表达式转换为Kotlin

  26. 26

    将适配器代码从Java转换为Kotlin时出现的问题

  27. 27

    将Spring Java8 Junit测试转换为Kotlin时摆脱Lateinit

  28. 28

    将Java类转换为Kotlin后,如何解决:“错误:找不到符号类...”?

  29. 29

    将具有继承关系的Java bean转换为Kotlin的问题

热门标签

归档