跨多个活动传递数据的最佳方式是什么

What is the best way to pass data across multiple activities

我有一个应用程序要求用户填写表格以创建路线。此路线要求用户至少创建一个步骤,以及一个链接到该步骤的谜语。用户可以创建包含许多步骤和谜语的路线。

所以我有 3 个活动(CreateCustomRouteActivity、CreateCustomStepActivity、CreateCustomRiddleActivity),每个活动都由一个表单组成,该表单具有与对象属性对应的不同字段。

我不希望用户能够在不创建 Riddle 的情况下创建 Step,也不希望他在不将其链接到 Route 的情况下创建 Step 和 Riddle

在最后 activity 中,有一个用于验证和创建对象的按钮。

在 3 个活动中传递这些数据的最佳方式是什么?我应该使用 Parcelable 接口吗?我应该在意图中使用一堆额外的东西吗?我应该改变我接近它的方式吗?

对我来说它看起来像一个向导模式。我会考虑以下几点:

  • 如果您的数据很小,使用 Parcelable 听起来是个好主意。它将在主线程上执行,因此如果您有大量数据要打包,那将阻塞 UI.
  • 我还会考虑将这 3 个屏幕实现为片段,您可以将该数据保存在 activity 中。您仍然需要打包它以进行配置更改(例如设备的旋转)
  • 您可以将数据存储在不会因配置更改而被删除的单例对象中。