Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.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
Java 如何在我的android聊天应用程序中从Firebase实时数据库获取时间_Java_Android_Firebase Realtime Database - Fatal编程技术网

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只有一个聊天室。所以我找到了这个聊天室。好的,我会尝试,希望它能工作。你有列表视图或回收器视图