Приложение Firebase Android - не обновляет базу данных в реальном времени - PullRequest
1 голос
/ 06 апреля 2020

Я сталкиваюсь с некоторыми ошибками при попытке вставить данные sh в мою базу данных Firebase в реальном времени. Я проверил пару уроков и по всем из них я не делаю ничего плохого. К сожалению, я не могу обновить базу данных с моего android студийного эмулятора устройства.

Я активировал режим отладки и прошел через каждый отдельный процесс и увидел, что мой код действительно работает, потому что база данных отвечает с дочерним идентификатором при нажатии на it.

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();

вижу, что база данных ответила кодом. Но он не будет устанавливать новое значение или обновлять значение существующей базы данных Childs.

После активации режима отладки я обнаружил некоторые редкие строки в android studio, которые могут привести к проблеме:

E / FirebaseInstanceId: Topi c syn c или не удалось получить токен при исключениях серьезных сбоев: AUTHENTICATION_FAILED. Не буду пытаться повторить операцию.

Я точно уверен, что я не активировал никакую аутентификацию в своей базе данных. Обычно каждый должен уметь читать и писать (я знаю об этом, но я отчаянно желаю, чтобы это соединение с базой данных работало).

Не могли бы вы мне помочь?

Ответы [ 2 ]

1 голос
/ 06 апреля 2020

Go на консоль Firebase> База данных> База данных Firebase Realtime> вкладка «Правила» Измените чтение и запись на true. Также проверьте, подключено ли ваше устройство к inte rnet.

0 голосов
/ 06 апреля 2020

По умолчанию правило в Firebase для авторизованных запросов

вы можете изменить чтение и запись на True

НО НЕ БЕЗОПАСНО

любой один с вашим Firebase Url может получать доступ и изменять данные

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...