在 Android 中保存聊天记录的推荐方法是啥?

Posted

技术标签:

【中文标题】在 Android 中保存聊天记录的推荐方法是啥?【英文标题】:What is the recommended way to save chat history in Android?在 Android 中保存聊天记录的推荐方法是什么? 【发布时间】:2013-04-09 08:42:21 【问题描述】:

我正在使用 Asmack 编写一个聊天应用程序。

我正在寻找保存聊天记录的最佳方式。虽然我稍后会在服务器端进行,但我仍然希望将一些历史记录(大部分是最近的)保存在手机上。

我读到了http://developer.android.com/guide/topics/data/data-storage.html

并且我实现了内部数据存储来保存历史记录。但这是保存聊天记录/联系人的推荐方式吗?

编辑:

回复cmets;如下,像我做的那样? (但添加加密)

String FILENAME = "contactName.History";
String string = "encrypted message history";

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();

我必须手动加密字符串,还是 Android 自己加密?

【问题讨论】:

您可以将数据以加密格式保存在文本文件中,就像 WhatsApp 一样。 您可以使用文件系统来保存您的数据。 请检查我的问题。你说的我加了。 您也可以将这些数据保存到sqlite数据库中,这样检索起来更快,也更容易处理。 【参考方案1】:

最好的方法是使用 Sqlite 数据库,因为它易于处理,并且您可以根据时间戳对对象进行排序。

【讨论】:

但是当用户从 spp 设置中清除数据时,历史记录会消失不是吗? 是的。在这种情况下,您可能希望存储在云中。

以上是关于在 Android 中保存聊天记录的推荐方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在android中保存该数据的最合适方法是啥

保存可以在android应用程序的所有活动中访问的数组的最佳方法是啥?

记录 Spring Security OAuth2 身份验证失败的推荐方法是啥?

在Android中处理非常大量数据的好方法是啥?

从 DynamoDB 中删除大量项目的推荐方法是啥?

保存游戏状态的最佳方法是啥?