【问题标题】:How can i store chat history in Android我如何在Android中存储聊天记录
【发布时间】:2011-05-06 06:37:38
【问题描述】:

我正在开发一个使用 ASmack 库发送和接收 IM 的 XMPP 客户端应用程序。我想存储用户之间的聊天记录。在我通过单击按钮清除聊天之前,此历史记录必须保持不变。

保持聊天记录的最佳方式是什么?任何 sn-ps 都会有很大帮助。

【问题讨论】:

  • 你能在你的应用程序中保存以前的聊天列表吗..你能帮我吗..我也想保存以前的聊天列表,但我无法保存.. ..
  • 您打算如何存储数据? SQLite、SharedPreferences 还是作为简单对象?
  • 我实现的方式是,将fromuserid、touserid和消息存储在一个表中。当调用活动时,我触发查询并根据用户 ID 检索所有消息并填充列表视图的适配器。当活动被杀死时,我也在清除数据库表,以便数据库不会变得太重
  • 如果您不需要将数据持久化很长时间,那么您可以使用像Hashmaps这样的数据结构来维护数据。

标签: android xmpp


【解决方案1】:

想到一个简单的 Sqlite 数据库。然后,您可以根据需要保存所有聊天的所有历史记录。并有选择地删除一个聊天会话,而不是另一个。

见:http://developer.android.com/guide/topics/data/data-storage.html#db

你会在互联网上找到很多简单的教程。

【讨论】:

  • 走 SQLite 方式是唯一的解决方案吗? Gtalk、Facebook 等其他聊天应用程序是否使用 sqlite 来存储聊天会话?
  • Gtalk、Facebook 将他们的数据保存在服务器端而不是本地数据库中。
  • 您可以重新发明轮子:- XML、JSON 或制作您自己的文本格式并保存到文件中。 - 保存到 SharedPreferences(不过请注意大小)。 - 保存在您的服务器上。只是 Sqlite 是为轻松高效地存储数据而设计的,所以这是一条简单的路线。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-17
  • 2019-07-21
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 2018-09-14
  • 1970-01-01
相关资源
最近更新 更多