【问题标题】:How to get value from a serializable object如何从可序列化的对象中获取值
【发布时间】:2018-07-24 09:58:31
【问题描述】:

我通过BroadcastReceiverserializable 类型的对象从IntentService 传递给BroadcastReceiver。 此代码分配给BroadcastReceiver

 @Override
    public void onReceive(Context context, Intent intent) {
        Log.d(TAG, "onReceive: Received Broadcast: " + intent + " from context: " +  context);

        RetrofitResponseProfile retrofitResponseProfile = intent.getSerializableExtra(NetworkService.NETWORK_RESPONSE_PROFILE);



    }

但我的问题是,android studio 说,retrofitRepsonseProfile 对象不是来自serializable 类型。

谁能帮助我,如何在BroadcastReceiver 中从IntentService 接收serializable 对象?

提前非常感谢!

【问题讨论】:

  • 添加你也传递可序列化的代码

标签: android serialization intentservice


【解决方案1】:

你的班级应该是

Class RetrofitResponseProfile implements Serializable{
//Create Variables And Functions
}

在通话中

RetrofitResponseProfile retrofitResponseProfile = (RetrofitResponseProfile) intent.getSerializableExtra("Key0");

希望对你有帮助

【讨论】:

  • 很高兴知道这一点。快乐编码
  • 最后一个问题:现在,我想将此对象插入到已经创建的房间数据库中。是否可以使用与上述相同范围内的异步任务来执行此操作?
  • 是可以的,如果对象是实体类的对象,即RetrofitResponseProfile。
  • 不直接,因为我有另一个名为 roomprofile 的类,在执行异步任务之前,我将 RetrofitResponseProfile 转换为与房间兼容的类对象。
  • 如果你转换了相同的,你可以通过 roomdb 使用异步任务保存数据
猜你喜欢
  • 2020-01-12
  • 1970-01-01
  • 2012-02-04
  • 2013-12-07
  • 1970-01-01
  • 1970-01-01
  • 2021-05-30
  • 1970-01-01
相关资源
最近更新 更多