这只是我的代码的一个示例。现在,如果我在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方法中以结束痛苦。即使不完全令人满意,它仍然有效。谢谢所有回答的人。
现在,我只是想按照以下指南在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文件,它不为空。我不确定这是什么问题。