【发布时间】:2015-10-15 09:44:49
【问题描述】:
我有一个 firebase 集合,我使用以“+”号开头的电话号码作为 id。
因此,当我创建 Firebase 引用以更新计数器时,创建的 Firebase 引用不带“+”号,这会导致创建一个不带 + 号的新行。为什么 Firebase 会去掉 + 号?
我这样创建的 firebase ref:
String id = "+919920801121";
Firebase callCounterRef = new Firebase(FbDbHelper.FB_PROJECTS + projectId + "/leads/" + id + "/callCounter");
这将打印参考如下:
https://myapp.firebaseio.com/projects/-K0QiZGSCTobFLE8TItb/leads/%20919920801121/callCounter
这将创建一个新的潜在客户,电话号码为 919920801121,而之前的潜在客户的号码为 +919920801121
我怎样才能解决这个问题?
【问题讨论】:
-
传递到 Firebase() 的 URL 将传递到 HTTPS 请求和 wss:// 请求中。因此,它必须是一个有效的 URL。您必须对传入的任何参数进行urlencode。尝试
new Firebase(base_url).child(projectId+'/leads/'+...)来避免这种情况。 -
+是一个特殊字符是 url。通常它表示空间,这里编码为%20。
标签: android firebase firebase-realtime-database