Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Firebase数据库:读取权限被拒绝?_Android_Firebase_Firebase Realtime Database_Android Recyclerview - Fatal编程技术网

Android Firebase数据库:读取权限被拒绝?

Android Firebase数据库:读取权限被拒绝?,android,firebase,firebase-realtime-database,android-recyclerview,Android,Firebase,Firebase Realtime Database,Android Recyclerview,我试图从我的firebase数据库中读取数据,并将其与adapter一起放到Recyclerview中,但每次我都会收到以下消息: 08-20 18:26:53.754 3430-3653/blabla.com.notescloud W/SyncTree: Listen at / failed: DatabaseError: Permission denied 08-20 18:26:53.764 3430-3430/blabla.com.notescloud W/FirebaseRecycle

我试图从我的firebase数据库中读取数据,并将其与adapter一起放到Recyclerview中,但每次我都会收到以下消息:

08-20 18:26:53.754 3430-3653/blabla.com.notescloud W/SyncTree: Listen at / failed: DatabaseError: Permission denied
08-20 18:26:53.764 3430-3430/blabla.com.notescloud W/FirebaseRecyclerAdapter: com.google.firebase.database.DatabaseException: Firebase Database error: Permission denied
     at com.google.firebase.database.DatabaseError.toException(Unknown Source)
     at com.firebase.ui.database.FirebaseRecyclerAdapter.onCancelled(FirebaseRecyclerAdapter.java:175)
     at com.firebase.ui.database.ObservableSnapshotArray.notifyListenersOnCancelled(ObservableSnapshotArray.java:135)
     at com.firebase.ui.database.FirebaseArray.onCancelled(FirebaseArray.java:129)
     at com.google.android.gms.internal.zzdpw.zza(Unknown Source)
     at com.google.android.gms.internal.zzdvg.zzbur(Unknown Source)
     at com.google.android.gms.internal.zzdvo.run(Unknown Source)
     at android.os.Handler.handleCallback(Handler.java:751)
     at android.os.Handler.dispatchMessage(Handler.java:95)
     at android.os.Looper.loop(Looper.java:154)
     at android.app.ActivityThread.main(ActivityThread.java:6077)
     at java.lang.reflect.Method.invoke(Native Method)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
我的规则还可以(记录在案,写入数据库的工作非常好):

我的数据库:

这是我的主要活动中的回收器设置:

rv = findViewById(R.id.rv_notes); //RecyclerView
rv.setLayoutManager(new LinearLayoutManager(this));

ref = FirebaseDatabase.getInstance().getReference(); // Getting a reference of the database

mAdapter = new FirebaseRecyclerAdapter<Note, NoteHolderView>(
        Note.class,
        android.R.layout.two_line_list_item,
        NoteHolderView.class,
        ref) {
    @Override
    public void populateViewHolder(NoteHolderView holder, Note note, int position) {
        holder.setmTitleField(note.getmTitle());
        holder.setmTimeField(note.getTimeFormatted(getApplicationContext()));
    }
};
rv.setAdapter(mAdapter);
rv=findviewbyd(R.id.rv_注释)//回收视图
rv.setLayoutManager(新直线布局经理(本));
ref=FirebaseDatabase.getInstance().getReference();//获取数据库的引用
mAdapter=新的FirebaseRecyclerAdapter(
注:课堂上,
android.R.layout.two\u line\u list\u项,
NoteHolderView.class,
参考号){
@凌驾
public void populateViewHolder(NoteHolderView holder,Note Note,int position){
holder.setmTitleField(note.getmTitle());
setmTimeField(note.getTimeFormatted(getApplicationContext());
}
};
rv.设置适配器(mAdapter);
希望你能帮我解决这个问题


谢谢。

您正在尝试从数据库顶部读取,由于您没有为此指定规则,因此它将自动被拒绝。 试试这个


你可以通过在集合中添加/前缀来访问集合,这意味着它会被调用。像我一样,我也尝试过这个方法,效果很好,希望这能有所帮助

 db=FirebaseDatabase.getInstance();
    dbref=db.getReference("/Course_list");
在这段代码中,我为集合添加了“/”前缀

ref = FirebaseDatabase.getInstance()
                      .getReference()
                      .child("users")
                      .child(FirebaseAuth.getCurrentUser().getUid());
 db=FirebaseDatabase.getInstance();
    dbref=db.getReference("/Course_list");