Я использую Android Studio и базу данных реального времени Firebase и пытаюсь добавить прослушиватель события value к одному из созданных мной узлов. Код выглядит следующим образом:
DatabaseReference rdb = FirebaseDatabase.getInstance().getReference();
rdb.child(Constants.JOBS_COLLECTION).child(AppData.getInstance().getJobDocRef())
.addValueEventListener(new ValueEventListener() {
//my code here
}
Константы. java имеет это public static final String JOBS_COLLECTION = "jobs";
AppData. java является синглтоном, а getJobDocRef () возвращает ссылку на созданный мной узел. Вот как я сохранил ссылку:
AppData.getInstance().setJobDocRef(newDoc.toString());
Когда этот код запускается, я получаю следующее исключение:
com.google.firebase.database.DatabaseException: Invalid Firebase Database path: https://myproject-77d.firebaseio.com/jobs/-Ly3GYAaKy-gmVwJqajO. Firebase Database paths must not contain '.', '#', '$', '[', or ']'
at com.google.firebase.database.core.utilities.Validation.validatePathString(com.google.firebase:firebase-database@@19.2.0:45)
at com.google.firebase.database.DatabaseReference.child(com.google.firebase:firebase-database@@19.2.0:102)
at com.bleek.App.FindDriverFragment.getDriver(FindDriverFragment.java:82)
at com.bleek.App.FindDriverFragment.onCreateView(FindDriverFragment.java:57)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2600)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:881)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:439)
at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
at androidx.fragment.app.FragmentManagerImpl$2.run(FragmentManagerImpl.java:150)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
I/Process: Sending signal. PID: 5719 SIG: 9
Process 5719 terminated.
Вот структура моей базы данных:
myproject-77d
jobs
-Ly3GYAaKy-gmVwJqajO
-Ly3GHeQVxuqhXD4fFDG
Пожалуйста, помогите мне решить эту ошибку