如何在 android 上本地保存聊天记录?

How to keep chat history locally on android?

我正在为我的聊天应用程序使用 openfire 和 aSmack。

我可以使用 aSmack 库发送和接收消息。

谁能告诉我如何将这些消息保存在本地(android)存储中,以便用户下次打开应用程序时,他可以看到他以前的聊天记录?有aSmack/Smack提供的api吗?

只需注册一个数据包侦听器和拦截器,并将消息记录到您选择的后备存储中。

将 packetListener 用作:

PacketFilter gc_filter = new MessageTypeFilter(Message.Type.groupchat);

        XMPPconnection.addPacketListener(new PacketListener() 
        {
            public void processPacket(Packet packet) 
            {
                final Message message = (Message) packet;
                String body = message.getBody();
                String from_jid = message.getFrom();
                // save it in data base
            }
        )};