小编Sal*_*Sea的帖子

在Firebase中的onDataChange内设置变量(单值侦听器)

这只是我的代码的一个示例。现在,如果我在onDataChange中打印出userName变量,它可以正常工作。但是,如果我尝试在外部输出userName,则在侦听器之后,它将输出'null'。如何在onDataChange()中存储所需的变量和变量?

public class FireBaseTest extends .... {

    String userName;

    ...

    mDatabase.child("Users").child(key).addListenerForSingleValueEvent(
                    new ValueEventListener() {
                        @Override
                        public void onDataChange(DataSnapshot dataSnapshot) {
                            // Get user value
                            userName = dataSnapshot.child("userName").getValue(String.class);
                            System.out.println(userName); //Not null
                        }

                        @Override
                        public void onCancelled(DatabaseError databaseError) {
                        }
                    });


    ...

    System.out.println(userName); //Null
Run Code Online (Sandbox Code Playgroud)

编辑/更新:因此,在我进行一个处理之前,该处理将采用被监听的值并对其进行处理。我只是对该过程进行了一些调整,并将其添加到onDataChanged方法中以结束痛苦。即使不完全令人满意,它仍然有效。谢谢所有回答的人。

java android firebase firebase-realtime-database

4
推荐指数
1
解决办法
5902
查看次数

如何使用Keytool从.jks文件导出公钥?

现在,我只是想按照以下指南在WSO2中更改我的主机名:https : //docs.wso2.com/display/IS550/Changing+the+hostname

在生成一个名为newkeystore.jks的.jks文件后,我进入了第4步,在这一步中,当我在命令行中运行此文件时,它应该导出公钥:

keytool -export -alias certalias -keystore newkeystore.jks -file <public key name>.pem
Run Code Online (Sandbox Code Playgroud)

我尝试了此操作,但收到错误消息“系统找不到指定的文件”。

设置了我的系统环境变量,以便可以正确使用keytool。我可以看到生成了.jks文件,它不为空。我不确定这是什么问题。

wso2 keytool

4
推荐指数
1
解决办法
8088
查看次数