Firebase Android应用程序-不更新实时数据库

Firebase Android应用程序-不更新实时数据库,android,firebase,firebase-realtime-database,firebase-authentication,Android,Firebase,Firebase Realtime Database,Firebase Authentication,我在尝试将数据推入firebase实时数据库时遇到一些错误。我查阅了几本教程,根据它们,我没有做错什么。不幸的是,我无法从android studio模拟器设备更新数据库 我激活了调试模式并逐步完成了每一个过程,我发现我的代码实际上是有效的,因为数据库在推送它时会使用子id进行响应 package com.example.fbconnect; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; im

我在尝试将数据推入firebase实时数据库时遇到一些错误。我查阅了几本教程,根据它们,我没有做错什么。不幸的是,我无法从android studio模拟器设备更新数据库

我激活了调试模式并逐步完成了每一个过程,我发现我的代码实际上是有效的,因为数据库在推送它时会使用子id进行响应

package com.example.fbconnect;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

public class MainActivity extends AppCompatActivity {
    Button btnsaves;
    Member member;
    DatabaseReference myRef;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btnsaves=(Button)findViewById(R.id.button);
        btnsaves.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                myRef = FirebaseDatabase.getInstance().getReference("Member");
                String id = myRef.push().getKey();
                member = new Member("MSmith", 12, id);
                myRef.child(id).setValue(member);
                Toast.makeText(MainActivity.this, "Success", Toast.LENGTH_SHORT).show();
            }
        });
    }
}
调试到此行时

String id = myRef.push().getKey();
我明白了,数据库回答了一个密码。但它不会设置新值或更新现有数据库child的值

激活调试模式后,我在android studio中发现了一些可能导致问题的罕见线条:

E/FirebaseInstanceId:主题同步或令牌检索因硬故障而失败异常:身份验证\u失败。不会重试该操作

我确信我没有在firebase中激活任何身份验证。正常情况下,每个人都应该能够读写(我知道这一点,但我非常希望数据库连接能够正常工作)


您能帮助我吗?

默认情况下,Firebase中的规则用于授权请求

您可以将读取和写入更改为True

但它不安全

任何具有Firebase Url的用户都可以访问和更改数据


转到firebase控制台>数据库>firebase实时数据库>规则选项卡将读写更改为true。
还要检查您的设备是否已连接到internet。

您是否在Firebase控制台中更改了Firebase数据库的身份验证?否,默认情况下仍为否。我尝试激活匿名登录方法,但也没有帮助…转到firebase控制台>数据库>firebase实时数据库>规则选项卡将读写更改为true。我也经历了同样的情况,它在我的物理设备上工作,但在模拟器上不工作。但它似乎将数据存储在一些本地缓存中,因为它可以检索我在emulator中设置的内容,但在我关闭应用程序后,这些设置也消失了。对我来说,通过从设备卸载应用程序并重新部署,emulator的问题得到了解决。我已经将这些设置更改为true。但是该应用程序无法连接到数据库。已经连接了,抱歉,您指的是Android studio中的常规firebase authenticationCheck,如果它是否连接到firebase数据库。还要检查你的设备是否连接到互联网我使用的是android studio emulator,它不应该连接到互联网吗?不确定emulator。。。在AVD管理器中尝试“立即冷启动”你是对的…模拟android设备上的系统设置显示:连接到AndroidWifi,没有互联网。“现在冷启动”-没有任何变化