如何为 ChatApp 制作 ListView 来管理所有聊天?

Posted

技术标签:

【中文标题】如何为 ChatApp 制作 ListView 来管理所有聊天?【英文标题】:How to make a ListView for a ChatApp to manage all chats? 【发布时间】:2018-12-30 05:28:55 【问题描述】:

我正在尝试创建一个列表来管理我的聊天应用中的所有聊天。我的聊天应用程序正在使用 firebase。问题是:我应该使用 FlatList 并将所有数据本地保存在文件中还是 Firebase 数据库中?

【问题讨论】:

【参考方案1】:

将数据保存在 firebase 数据库中。将数据保存在文件中是不专业的,因为数据库可以处理更大的数据集,并且在处理大量数据时可以更快。

【讨论】:

【参考方案2】:

在您的聊天应用程序中使用firebase,这可以让一切变得更简单。对于listviewfirebase 消息使用此方法

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

如需更多查询,请访问此链接: enter link description here

【讨论】:

以上是关于如何为 ChatApp 制作 ListView 来管理所有聊天?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 listView 上的项目设置绝对位置?

如何为 ListView 行创建列式布局?

如何为 LIstView 中的每一行添加一个按钮?

如何为随机自定义 ListView 适配器设置按钮单击事件?

如何为 ListView 的 ContextActions 的 MenuItem 添加可见性绑定

如何为 ListView.builder 加载数据以从提供者的数据构建