我想在Android中实现持久化队列。本质上是一个存储数据的队列,直到另一个线程接收它并将其发送到某个地方。存储或使用数据的顺序并不重要(例如FIFO,LIFO,LILO等)。 Android中是否有支持此功能的现代库?
我在SOF上找到了上一个问题,但这可以追溯到2012年:How to realize a persistent queue on Android
答案 0 :(得分:3)
有很多方法可以做到这一点。您可以将该集合保存到SQLite等数据库中,将其序列化为文件并在需要时对其进行反序列化,或者将其保存在Android的SharedPreferences中。
无论如何,有一个名为Hawk的酷库 (https://github.com/orhanobut/hawk)
安全,简单的Android键值存储
如果您查看Hawk源代码,您可以看到它使用SharedPreferences将数据保存到磁盘。它序列化您要保留的对象,并将其作为String保存到SharedPreferences中。
报价和图片来自Hawk github页面。
你可以在这里找到其他替代方案(在" Persistence"部分):https://github.com/codepath/android_guides/wiki/Must-Have-Libraries
答案 1 :(得分:1)
您可以查看Priority Jobqueue
它可以选择保留作业并确定其优先级。