如何从我的Android聊天应用程序中获取Firebase实时数据库的时间

时间:2018-04-15 12:09:31

标签: java android firebase-realtime-database

我正在使用Temporary chatRooms

构建一个简单的聊天应用

我正在使用单个文本视图来显示带有以下代码的用户名和聊天消息

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>

现在我还要显示收到消息的日期和时间。我怎样才能做到这一点。例如,我想在我的应用程序中获得以下时间

Example Image

我的Firebase云结构

Firebase Cloud Storage

你可以在这里找到整个项目

https://github.com/miskoajkula/Firebase-RealtimeDatabase-App-Example

提前致谢。

1 个答案:

答案 0 :(得分:0)

使用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);

我也实现了这样的聊天。 Reference

如果您使用回收商视图,请使用link