当Firebase实时数据库拒绝访问时,如何显示错误?

达摩拉吉

我的应用程序从Firebase数据库检索数据。在TextView中查看检索到的数据。在检索TextView之前,只显示提示(此处为用户名)。

在Firebase数据库中编写规则时,我都将“ .read”和“ .write”都设置为FALSE。这意味着没有人可以访问数据。

但是然后我的TextView仍然显示提示。如何在应用程序中收到拒绝访问的响应,以便可以创建一个弹出窗口,说明访问被拒绝。

有什么办法得到这种确认吗?

{
  "rules": {
    ".read": false,
    ".write": false
  }
}

所以当我的规则如上所述时 输出为:

在此处输入图片说明

但是当我将规则更改为

{
  "rules": {
    ".read": false,
    ".write": false
  }
}

输出为:

在此处输入图片说明

因此用户认为他的现金仍在充值,但我想向他显示一个ACCESS DENIED的错误。有办法吗?

我的代码:

String cashOwnValue = "start";
try {
    cashOwnValue = dataSnapshot.child("startCash").getValue().toString();
} catch (Throwable e) {
    Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_SHORT).show();
}
cashValue.setText(cashOwnValue);
Toast.makeText(getApplicationContext(), "Your balance has changed.", Toast.LENGTH_SHORT).show();

编辑:当访问被拒绝时,要让用户知道他的请求已被拒绝,您必须对此进行编码:

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
    Toast.makeText(getApplicationContext(), "Access Denied", Toast.LENGTH_LONG).show();
}

并且为了避免如果找不到用户数据而导致应用程序崩溃,请使用try-catch块,如下所示。(还与@PrajwalW进行了很长的讨论才能解决)。

Prajwal Waingankar

在这里,您可以找到完整的单一解决方案:

  1. 使读= True和写= False。这将仅允许读取访问,并且将返回对写入访问拒绝的权限。
  2. 处理该错误:使用try-catch块执行。
  3. 在try块中编写代码,在catch块中处理异常。
  4. 根据您的条件,当用户尝试编辑该字段时,您想显示错误或默认文本。为此,在您的catch块中编写该代码。
  5. 现在,您的新错误消息文本不会更新:

进行以下更改:

字符串cashOwnValue = null; //全局设置为空初始值。

        try {
            cashOwnValue = "start";
            cashOwnValue = dataSnapshot.child("startCash").getValue().toString();
            cashValue.setText(cashOwnValue);  //add the setText() inside the try block like this...
        Toast.makeText(getApplicationContext(), "Your balance has changed.", Toast.LENGTH_SHORT).show();

        } catch (Throwable e) {
            Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_SHORT).show();
        }

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Firebase实时数据库规则拒绝权限

来自分类Dev

显示来自 Firebase 实时数据库的数据

来自分类Dev

设备离线时是否可以访问 Firebase 实时数据库?

来自分类Dev

如何从Firebase实时数据库获取和显示数据?

来自分类Dev

如何从Firebase实时数据库中获取数据并将其显示在微调器上

来自分类Dev

如何从Firebase中的实时数据库获取数据

来自分类Dev

如何从Firebase实时数据库读取数据

来自分类Dev

如何从firebase实时数据库中选择数据

来自分类Dev

如何获取firebase实时数据库的数据

来自分类Dev

将数据推送到 Firebase 实时数据库时如何更改密钥

来自分类Dev

删除 firebase 实时数据库中的数据时,如何从列表中删除特定项目?

来自分类Dev

如何检查 firebase 实时数据库中的更改值并使它们显示在 html 表中?

来自分类Dev

如何从Firebase实时数据库中删除?

来自分类Dev

如何从Firebase实时数据库获取最新记录

来自分类Dev

如何更新Firebase实时数据库中的位置?

来自分类Dev

如何从 Firebase 实时数据库正确检索值?

来自分类Dev

如何设置 Firebase 实时数据库的双重查询?

来自分类Dev

Firebase实时数据库addValueEventListener

来自分类Dev

Firebase实时数据库-规则

来自分类Dev

Firebase实时数据库addValueEventListener

来自分类Dev

Android:Firebase实时数据库

来自分类Dev

Firebase 实时数据库的问题

来自分类Dev

Firebase 实时数据库帖子

来自分类Dev

当我获得“ PERMISSION DENIED”时,如何让我的Firebase安全规则允许对我的实时数据库的身份验证访问

来自分类Dev

在使用云功能时,如何使用Firebase Admin SDK更改Firebase实时数据库中的数据?

来自分类Dev

如何更改“实时数据库”?

来自分类Dev

首次安装android应用时,如何从Firebase实时数据库获取数据库

来自分类Dev

如何在不知道firebase实时数据库中的父元素的情况下访问子元素?

来自分类Dev

在firebase中写入数据数据库时访问被拒绝

Related 相关文章

  1. 1

    Firebase实时数据库规则拒绝权限

  2. 2

    显示来自 Firebase 实时数据库的数据

  3. 3

    设备离线时是否可以访问 Firebase 实时数据库?

  4. 4

    如何从Firebase实时数据库获取和显示数据?

  5. 5

    如何从Firebase实时数据库中获取数据并将其显示在微调器上

  6. 6

    如何从Firebase中的实时数据库获取数据

  7. 7

    如何从Firebase实时数据库读取数据

  8. 8

    如何从firebase实时数据库中选择数据

  9. 9

    如何获取firebase实时数据库的数据

  10. 10

    将数据推送到 Firebase 实时数据库时如何更改密钥

  11. 11

    删除 firebase 实时数据库中的数据时,如何从列表中删除特定项目?

  12. 12

    如何检查 firebase 实时数据库中的更改值并使它们显示在 html 表中?

  13. 13

    如何从Firebase实时数据库中删除?

  14. 14

    如何从Firebase实时数据库获取最新记录

  15. 15

    如何更新Firebase实时数据库中的位置?

  16. 16

    如何从 Firebase 实时数据库正确检索值?

  17. 17

    如何设置 Firebase 实时数据库的双重查询?

  18. 18

    Firebase实时数据库addValueEventListener

  19. 19

    Firebase实时数据库-规则

  20. 20

    Firebase实时数据库addValueEventListener

  21. 21

    Android:Firebase实时数据库

  22. 22

    Firebase 实时数据库的问题

  23. 23

    Firebase 实时数据库帖子

  24. 24

    当我获得“ PERMISSION DENIED”时,如何让我的Firebase安全规则允许对我的实时数据库的身份验证访问

  25. 25

    在使用云功能时,如何使用Firebase Admin SDK更改Firebase实时数据库中的数据?

  26. 26

    如何更改“实时数据库”?

  27. 27

    首次安装android应用时,如何从Firebase实时数据库获取数据库

  28. 28

    如何在不知道firebase实时数据库中的父元素的情况下访问子元素?

  29. 29

    在firebase中写入数据数据库时访问被拒绝

热门标签

归档