如何在Android中实现持久队列

时间:2017-03-03 00:04:04

标签: java android message-queue persistent-storage

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

我在SOF上找到了上一个问题,但这可以追溯到2012年:How to realize a persistent queue on Android

2 个答案:

答案 0 :(得分:3)

有很多方法可以做到这一点。您可以将该集合保存到SQLite等数据库中,将其序列化为文件并在需要时对其进行反序列化,或者将其保存在Android的SharedPreferences中。

无论如何,有一个名为Hawk的酷库 (https://github.com/orhanobut/hawk

  

安全,简单的Android键值存储

Hawk的工作原理: Hawk mechanism

如果您查看Hawk源代码,您可以看到它使用SharedPreferences将数据保存到磁盘。它序列化您要保留的对象,并将其作为String保存到SharedPreferences中。

报价和图片来自Hawk github页面。

你可以在这里找到其他替代方案(在" Persistence"部分):https://github.com/codepath/android_guides/wiki/Must-Have-Libraries

答案 1 :(得分:1)

您可以查看Priority Jobqueue

它可以选择保留作业并确定其优先级。