java - Path JobQueue 无法序列化 String HashSet

标签 java android priority-queue job-queue

我需要序列化 ​​JobQueue 的字符串集合。我怎么做?使用HashSet<String>导致异常。我正在使用https://github.com/path/android-priority-jobqueue (这里没有标签)

error while serializing object PersistNotificationSettingsJob
 java.io.NotSerializableException: com.mycompanyandroid.Application
     at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1344)
     at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1651)
     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1497)
     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1461)
     at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:959)
     at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:360)
     at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1054)
     at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1384)
     at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1651)
     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1497)
     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1461)
     at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:959)
     at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:360)
     at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1054)
     at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1384)
     at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1651)
     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1497)
     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1461)
     at com.path.android.jobqueue.persistentQueue.sqlite.SqliteJobQueue$JavaSerializer.serialize(SqliteJobQueue.java:347)
     at com.path.android.jobqueue.persistentQueue.sqlite.SqliteJobQueue.safeSerialize(SqliteJobQueue.java:324)
     at com.path.android.jobqueue.persistentQueue.sqlite.SqliteJobQueue.getSerializeBaseJob(SqliteJobQueue.java:319)
     at com.path.android.jobqueue.persistentQueue.sqlite.SqliteJobQueue.bindValues(SqliteJobQueue.java:75)
     at com.path.android.jobqueue.persistentQueue.sqlite.SqliteJobQueue.insert(SqliteJobQueue.java:59)
     at com.path.android.jobqueue.cachedQueue.CachedJobQueue.insert(CachedJobQueue.java:26)
     at com.path.android.jobqueue.JobManager.addJob(JobManager.java:499)
     at com.path.android.jobqueue.JobManager$4.run(JobManager.java:565)
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
     at java.lang.Thread.run(Thread.java:818)

最佳答案

您正在尝试序列化不可序列化的应用程序类。 使其短暂并在作业运行时从某个地方获取。您还可以从 job#getApplicationContext 获取它。 http://yigit.github.io/android-priority-jobqueue/javadoc/index.html

关于java - Path JobQueue 无法序列化 String HashSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33712142/

相关文章:

java - ProcessBuilder 无法在 java eclipse luna 中正确执行程序

java - 如何将 "hh:mm:ss"转换为sql更新的间隔

algorithm - 标准库Priority Queue推送方法

java - 添加不可比较的对象时,PriorityQueue 的大小会增加

java - 使用推土机进行集合映射时无限循环

java - 如何在 Java 中获取用户名(即 Java 中的 who -m)(或 Jython 2.1)

android - Xamarin Android Forms 设计器无法识别 GridLayout 布局参数

Android 使用 AccountManager 添加帐户

android - AWS Android SDK 示例中的 "the provided key element does not match the schema"

algorithm - 在删除大小为 N 且没有重复键的堆中的最大操作期间,必须交换的最小项目数是多少?