Java 如何在我的android聊天应用程序中从Firebase实时数据库获取时间
我正在构建一个带有临时聊天室的简单聊天应用程序 我用一个文本视图显示用户名和聊天信息,代码如下Java 如何在我的android聊天应用程序中从Firebase实时数据库获取时间,java,android,firebase-realtime-database,Java,Android,Firebase Realtime Database,我正在构建一个带有临时聊天室的简单聊天应用程序 我用一个文本视图显示用户名和聊天信息,代码如下 private void append_chat_conversation(DataSnapshot dataSnapshot) { Iterator i = dataSnapshot.getChildren().iterator(); while (i.hasNext()){ chat_msg = (String) ((DataSnapshot)i.nex
private void append_chat_conversation(DataSnapshot dataSnapshot) {
Iterator i = dataSnapshot.getChildren().iterator();
while (i.hasNext()){
chat_msg = (String) ((DataSnapshot)i.next()).getValue();
chat_user_name = (String) ((DataSnapshot)i.next()).getValue();
chat_conversation.append(chat_user_name +" : "+chat_msg +" \n");
}
聊天活动的布局如下所示
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/scrollView"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_above="@+id/btn_send"
android:layout_alignRight="@+id/btn_send"
android:layout_alignEnd="@+id/btn_send">
<TextView
android:layout_width="match_parent"
android:padding="15dp"
android:layout_height="match_parent"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/textView" />
</ScrollView>
现在我还想显示收到消息的日期和时间。我怎样才能做到这一点。例如,我希望在我的应用程序中获得以下时间
我的Firebase云结构是
你可以在这里找到整个项目
提前感谢。为便于使用,请使用FirebaseListAdapter。像
ListView listOfMessages = (ListView)findViewById(R.id.list_of_messages);
adapter = new FirebaseListAdapter<ChatMessage>(this, ChatMessage.class,
R.layout.message, FirebaseDatabase.getInstance().getReference()) {
@Override
protected void populateView(View v, ChatMessage model, int position) {
// Get references to the views of message.xml
TextView messageText = (TextView)v.findViewById(R.id.message_text);
TextView messageUser = (TextView)v.findViewById(R.id.message_user);
TextView messageTime = (TextView)v.findViewById(R.id.message_time);
// Set their text
messageText.setText(model.getMessageText());
messageUser.setText(model.getMessageUser());
// Format the date before showing it
messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm:ss)",
model.getMessageTime()));
}
};
listOfMessages.setAdapter(adapter);
ListView listOfMessages=(ListView)findViewById(R.id.list of_消息);
adapter=新的FirebaseListAdapter(此,ChatMessage.class,
R.layout.message,FirebaseDatabase.getInstance().getReference()){
@凌驾
受保护的void populateView(视图v、聊天信息模型、int位置){
//获取对message.xml视图的引用
TextView messageText=(TextView)v.findviewbyd(R.id.message\u text);
TextView messageUser=(TextView)v.findviewbyd(R.id.message\u user);
TextView messageTime=(TextView)v.findViewById(R.id.message\u time);
//设置他们的文本
messageText.setText(model.getMessageText());
messageUser.setText(model.getMessageUser());
//在显示日期之前格式化日期
messageTime.setText(DateFormat.format(“dd-MM-yyyy(HH:MM:ss)”,
model.getMessageTime());
}
};
setAdapter(适配器);
我也实现了这样的聊天
如果您使用recycler view,则使用您可以将时间或任何其他需要的内容以json格式发送给您的邮件,并在收到邮件时进行解析。@Khemraj我该怎么做?您可以用一些示例演示吗?好的,我将为您发布一个。是的,我也搜索并找到了相同的参考资料,但是我也需要家长聊天室,在家长聊天室里我想实现聊天活动。但是refrece只有一个聊天室。所以我找到了这个聊天室。好的,我会尝试,希望它能工作。你有列表视图或回收器视图