android db 权限,Firebase权限在尝试从db读取时被拒绝,但我可以编写(Android)

编辑:我更新了retrieveData()。现在我的方法在onChildAdded()的数据库中显示正确数量的元素,但在尝试将Info post指定给postSnapshot.getValue(Info.class)时出现错误。这是我的信息类没有setter方法,getter方法等Firebase权限在尝试从db读取时被拒绝,但我可以编写(Android)

public Info(String question,String answer,String a,String b,String c,String d){

this.question=question;

this.a=a;

this.b=b;

this.c=c;

this.d=d;

this.answer=answer;

}

public Info(){

}

}

public void retrieveData(){

Log.e("burdayım sa","saaaaaaaaaaa");

databaseReference.addChildEventListener(new ChildEventListener() {

@Override

public void onChildAdded(DataSnapshot dataSnapshot, String s) {

Log.e("Count " ,""+dataSnapshot.getChildrenCount());

for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {

Info post = postSnapshot.getValue(Info.class);

Log.e("Get Data", post.getQuestion());

}

}

@Override

public void onChildChanged(DataSnapshot dataSnapshot, String s) {

Log.e("Count " ,""+dataSnapshot.getChildrenCount());

for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {

Info post = postSnapshot.getValue(Info.class);

Log.e("Get Data", post.getQuestion());

}

}

@Override

public void onChildRemoved(DataSnapshot dataSnapshot) {

}

@Override

public void onChildMoved(DataSnapshot dataSnapshot, String s) {

}

@Override

public void onCancelled(DatabaseError databaseError) {

Log.e("The read failed: " ,databaseError.getMessage());

}

});

}

@Override

public void onCancelled(FirebaseError firebaseError) {

Log.e("The read failed: " ,firebaseError.getMessage());

}

});

}

这是错误:com.google.firebase.database.DatabaseException:无法转换java.lang.String类型的对象输入com。示例.sahilliolu.rqagame.Info

所以,这是我的代码来接收数据。我在前一个活动中处理身份验证,并且可以通过此活动将事情写入我的数据库(我不使用firebase对象),但是当我尝试获取某个对象时,它拒绝了我的权限。我该如何解决这个问题?这是我如何写入数据库。

firebaseAuth=FirebaseAuth.getInstance();

if(firebaseAuth.getCurrentUser()==null){

finish();

startActivity(new Intent(this,LoginActivity.class));

}

FirebaseUser user=firebaseAuth.getCurrentUser();

databaseReference= FirebaseDatabase.getInstance().getReference().child("questions");

Info info=new Info(question,answer,a,b,c,d);

newDatabaseReference=databaseReference.push();

newDatabaseReference.setValue(info);

Toast.makeText(getApplicationContext(),"Your question is created",Toast.LENGTH_SHORT).show();

2017-03-09

Freshia

+0

做你的火力地堡的规则是什么样子? –

+0

{ “规则”:{ “.read ”: “AUTH = NULL”, “ .WRITE”: “AUTH = NULL” }} –

+0

我新的火力点,因此很可能违约。我想我失败了,因为我尝试从DB读取的我的firebase变量没有授权。 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值