How to Pass POJO class in Work manager in android?

前端 未结 2 2151
没有蜡笔的小新
没有蜡笔的小新 2021-02-19 03:21

How can we pass Serializable object in work manager by setData method of work manager? Is there any way to process with Work manager by passing

2条回答
  •  旧时难觅i
    2021-02-19 03:39

    You cannot directly provide a POJO for a WorkManager. See the documentation of the Data.Builder#putAll method:

    Valid types are: Boolean, Integer, Long, Double, String, and array versions of each of those types.

    If possible, you may serialize your POJO. For example, if it is truly small and simple, you can use JSON to encode it to string and then decode it in the Worker.

    However, for more complicated classes, I personally store them in the database (SQLite, Room) and then just pass the primary key of the given object. The Worker then fetches the object from the database. However, in my experience that can be usually avoided.

提交回复
热议问题