我正在开发一个团队聊天应用程序。我在Firebase里存储聊天数据。
chats
的节点下。chats
的每个直接子组都是一个团队的名称(如WhatsApp...chat groups)。团队
节点包含所有聊天消息。聊天消息已存储timestamp_chat
我的问题
reference1 = FirebaseDatabase.getInstance().getReference().child("chats");
Query chatQuery = reference1.orderByChild("from").equalTo("ragesh");
System.out.println("Chat list :: starting");
chatQuery.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
System.out.println("Chat list :: onChildAdded");
for (DataSnapshot chat : dataSnapshot.getChildren()) {
HashMap<String, Object> hashMap = (HashMap<String, Object>) dataSnapshot.getValue();
System.out.println("Chat list :: The chat group is =>" + dataSnapshot.getKey());
System.out.println("Chat list :: The key & Value => " + chat.getKey() +" :: "+chat.getValue().toString());
}
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(ChatListActivity.this, "Connection Error "+databaseError.getDetails(), Toast.LENGTH_SHORT).show();
System.out.println("Chat list :: databaseError "+databaseError.toString());
}
});
遗憾的是,上面的代码没有返回任何值。甚至没有调用system.out.println(“Chat list::OnChildAdded”);
。而且它也不调用oncanceled。(所以,没有错误)。
我被这个吓坏了。请帮帮我.
获取用户名:
mRootRef.child("chats").child("teamrova").orderByChild("from").equalTo("ragesh").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
String name=datas.child("from").getValue().toString();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
由于您使用的是AddChildEventListener
,所以您不需要for循环来获取那些值for(DataSnapshot chat:DataSnapshot.getchildren()){
您还需要更改以下内容:
reference1 = FirebaseDatabase.getInstance().getReference().child("chats");
reference1 = FirebaseDatabase.getInstance().getReference().child("chats").child("teamrova");
我正在尝试在Firebase中进行简单搜索以从我的Firebase数据中返回数据,但没有任何返回。 JSON结构 我的Firebase搜索代码如下 但一旦代码被执行,它就会返回null。还有一种方法可以搜索特定字段。
我想做的是用同一个键查询Firebase中的两个值。我的数据库是这样的: 我在我的Android项目中编写了一个查询来检索具有相同语言的所有文档,并且它有效。 但是现在我想做的是,寻找“en”和“fr”。 我在网上搜索过,但没有发现任何积极的方面。
问题内容: 我想编写以下功能,该功能应在Excel工作表中使用: …这将通过ODBC在内部连接到SQL数据库,然后在其中执行 并将返回结果值作为函数GetRecField的结果。上面的SQL被授权仅返回一个记录(IOW KEY_FIELD具有唯一约束)。 当然,上面的函数可以在工作表中多次调用,所以请尽量避免盲目 TIA。 问题答案: 您可以编写一个自定义函数来做到这一点 打开VBA编辑器(ALT
问题内容: 我有一个带有文档条目的父表,还有一个历史记录表,每次用户访问其中一个文档时,该表都会记录一个审计条目。 我正在编写一个搜索查询,以返回具有最新用户ID的文档列表(按各种条件过滤),以访问结果集中返回的每个文档。 因此对于 我希望从搜索中获得回报,例如 我可以轻松地通过一个SQL查询以及两个表之间的联接来做到这一点吗? 问题答案: 修改Andy White产生的内容,并用DB2(和ISO
问题内容: 假设我有一个包含3列的表格:Id,类别,名称。 我想以这种方式查询表:为我获取OR或OR的行 如何?不必求助于 我想使用的庞大列表…但是可以将其与2列一起使用吗? 谢谢! 问题答案: 您可以创建一个临时表 然后加入你的主表 如果要从代码中使用该方法,则可以使用表参数进行操作。 定义表类型: 和一个存储的proc将读取数据: 然后,您可以使用C#代码中的代码,例如:
3.移除值事件侦听器和脱机的区别。