如何在安卓本地保存聊天记录?
Posted
技术标签:
【中文标题】如何在安卓本地保存聊天记录?【英文标题】:How to keep chat history locally on android? 【发布时间】:2015-04-01 12:40:21 【问题描述】:我正在为我的聊天应用程序使用 openfire 和 aSmack。
我能够使用 aSmack 库发送和接收消息。
谁能告诉我如何将这些消息保存在本地(android)存储中,以便用户下次打开应用程序时,他可以看到他以前的聊天记录?有没有 aSmack/Smack 提供的 api?
【问题讨论】:
那么 sqlite 将是一个不错的选择 查看github.com/codepath/android_guides/wiki/… 是的。我知道sqlite。但是aSmack有没有像openfire一样保存群聊历史的api呢? 【参考方案1】:只需注册一个数据包侦听器和拦截器,并将消息记录到您选择的后备存储中。
【讨论】:
【参考方案2】:使用 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
);
【讨论】:
以上是关于如何在安卓本地保存聊天记录?的主要内容,如果未能解决你的问题,请参考以下文章
将 CloudKit 记录保存到本地文件保存除 CKAsset 之外的所有字段