我有一个在activity中的okhttp3.MultipartBody.Part,需要通过Intent put extra发送到下一个activity。
它给我一个错误
Parcel: unable to marshal value okhttp3.MultipartBody$Part
作为一种解决方法,我在util文件中添加了一个静态变量,并在下一个activity中访问它。
是否有可能将其通过intent发送?
是否因为数据太大而停止运行?
有没有可能通过意图(Intent)发送它?
不,抱歉。
是因为数据太大而停止了吗?
不是。它停止的原因是数据类型错误。Intent
附加的内容无法保存任意对象。
也有可能如果其中包含的内容过多,会因大小而导致应用程序崩溃,但您甚至还没有到达那一步。
作为解决方法,我已经在util文件中添加了一个静态变量,并在下一个活动中访问它。
在现代Android应用程序中,理想情况下,任何一个活动都不应该有任何OkHttp对象。使用存储库处理与服务器的通信,活动或者更好的方式是ViewModels可以与存储库进行交互。请参见https://developer.android.com/jetpack/docs/guide获得更多信息。