java - 如何在Android中实现持久队列

标签 java android message-queue persistent-storage

我想在 Android 中实现一个持久队列。本质上是一个队列,数据被存储在其中,直到另一个线程获取它并将其发送到某个地方。数据存储或使用的顺序并不重要(例如 FIFO、LIFO、LILO 等)。 Android 中有支持此功能的现代库吗?

我发现了一个关于 SOF 的上一个问题,但这可以追溯到 2012 年:How to realize a persistent queue on Android

最佳答案

有很多方法可以做到这一点。您可以通过将集合保存到 SQLite 等数据库中、将其序列化为文件并在需要时反序列化来持久化集合,也可以将其保存在 Android 的 SharedPreferences 中。

无论如何,有一个很酷的库叫 Hawk (https://github.com/orhanobut/hawk) 这是一个

Secure, simple key-value storage for android

Hawk 的工作原理: Hawk mechanism

如果您查看 Hawk 源代码,您会发现它使用 SharedPreferences 将数据保存到磁盘。它序列化您想要保留的对象并将其作为字符串保存到 SharedPreferences 中。

引用和图片取自 Hawk github 页面。

您可以在此处找到其他替代方案(在“持久性”部分):https://github.com/codepath/android_guides/wiki/Must-Have-Libraries

关于java - 如何在Android中实现持久队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42568275/

相关文章:

c - 用消息队列C发送文件内容

java - HackerRank 上的一维数组游戏

java - 依赖项的 Maven 项目变量

android - Flutter Run 命令不起作用——如何修复以下错误?

java - 如何垂直堆叠 AlertDialog 按钮?

android - Intent.ACTION_GET_CONTENT 打开图片和pdf

redis - Celery、zmq、分布式系统的消息传递方法

java - 我向 activemq 代理发送一条预定消息,但 Web 控制台中显示两条消息

java - 对 DataStore 异常执行查询

java - 如何仅使用一个连接在 hibernate 中执行嵌套事务?