一段时间后很好地回答,但也许它仍然会为某人指明正确的方向。
经过一段时间的搜索,我了解到 aSmack 不提供任何离线存储。
要在发送者离线时发送消息,我们需要离线存储来存储消息,直到发送者重新上线。我用过sqlite这个,但如果我们必须在成功发送后删除消息,SharedPreferences 也是一个不错的选择。
我遵循的最佳解决方案是,在 中插入消息sqlite,将其 id 存储在 中shared preferences,发送消息,然后从 中删除 id shared preferences。同时,如果互联网连接断开或消息因任何原因无法发送,那么我们会将其 ID 保存在共享首选项中作为备份。上线后,我们可以查看shared preferences他们是否有待发送的消息。
| 归档时间: |
|
| 查看次数: |
2139 次 |
| 最近记录: |