gpt4 book ai didi

android - 如何创建包含 = 符号的 firebase 路径(不转换为 %3D)

转载 作者:行者123 更新时间:2023-11-29 19:31:09 25 4
gpt4 key购买 nike

在我的 firebase 数据库中,我正在尝试创建以下路径:

FirebaseDatabase.getInstance().getReference().child(encodedMail);

encodedMail 值是:dGVzdEB0ZXN0LnRlc3Q=(它是 base64 编码的邮件地址 test@test.test)。

在 firebase 数据库中,它被创建为:dGVzdEB0ZXN0LnRlc3Q%3D。我如何确保创建的引用是:dGVzdEB0ZXN0LnRlc3Q=

我可以在 Firebase 控制台中手动创建此路径而不会出现问题,但是一旦我使用对 getReference().child() 的调用创建它,= 符号转换为 %3D?

相关代码如下:

final Map<String, Object> childCreation = new HashMap<>();

Log.d( TAG, "Encoded mail: " + encodedMail );

final DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("sharedEvents").child(encodedMail);
Log.d( TAG, "Reference: " + ref );

//see http://stackoverflow.com/questions/36161508/get-path-of-the-firebase-reference
String path = ref.toString().substring(ref.getRoot().toString().length());
Log.d( TAG, "Path: " + path );

childCreation.put( path, "a value");
FirebaseDatabase.getInstance().getReference().updateChildren(childCreation);

日志输出:

MainActivity: Remove manager: dGVzdEB0ZXN0LnRlc3Q=
MainActivity: Encoded mail: dGVzdEB0ZXN0LnRlc3Q=
MainActivity: Reference: https://xxxxx-development.firebaseio.com/sharedEvents/dGVzdEB0ZXN0LnRlc3Q%3D
MainActivity: Path: /sharedEvents/dGVzdEB0ZXN0LnRlc3Q%3D

最佳答案

当您调用 DatabaseReference.toString() 时,它会输出一个可以粘贴到浏览器中的 URL。这就是 = 被编码的原因。

当你reconstruct a DatabaseReference from the string with getReferenceFromUrl()它再次解码 =

关于android - 如何创建包含 = 符号的 firebase 路径(不转换为 %3D),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39931981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com