【发布时间】:2018-07-17 17:17:41
【问题描述】:
我只是想触发这个 Firebase ValueEventListener。我在侦听器内部设置了断点,以检查它们是否正在触发,而它们不是。我不确定为什么它不起作用,因为对我来说一切都很好。是否有任何与 Firebase 相关的原因导致此应用无法运行?
package sampleproj.wisen.android.sampleproj;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DatabaseReference d = FirebaseDatabase.getInstance().getReference();
d.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
int r = 0;
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
我已经尝试在最深的子级访问数据库。重点是检索两个用户之间的消息列表。
final String senderUsername = "WiseNN";
final String recipeintUsername = "tellMeWhen2Go";
final String messagesKey = "messages";
DatabaseReference DBRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference DBMsgsRef = DBRef.child("privateChat").child(senderUsername).child(recipeintUsername).child(messagesKey).getRef();
【问题讨论】:
-
分享你的数据库结构。
-
我已经上传了数据库的结构
-
发布您要检索的文档的扩展结构。
-
发布了更新的数据库结构
-
1.它会给您的 logcat 带来任何错误吗? 2. 将
DatabaseReference DBMsgsRef = DBRef.child("privateChat").child(senderUsername).child(recipeintUsername).child(messagesKey).getRef();更改为DatabaseReference DBMsgsRef = DBRef.child("privateChat").child(senderUsername).child(recipeintUsername).child(messagesKey);3. 检查您的数据库规则
标签: android firebase android-studio firebase-realtime-database