【问题标题】:Using objects of one activity in another after activity is destroyed [duplicate]在活动被销毁后在另一个活动中使用一个活动的对象[重复]
【发布时间】:2014-02-25 16:13:41
【问题描述】:

我正在一个活动中加载值,然后对其进行处理并在新活动中显示结果。我不想在创建第二个活动时保留第一个活动,但需要结果屏幕中第一个活动的对象中的一些数据。

我读到第一个活动中创建的数据在退出时会被破坏。如何获取第二个活动的数据?

我不是在看使用 Intents 的简单传递。但是在第一个活动完成后在新活动中获取第一个活动的数据。

【问题讨论】:

  • 如果数据不依赖于上下文,则将其设为静态
  • 数据不是静态的。

标签: android android-activity activity-lifecycle


【解决方案1】:

在活动之间使用经常访问的数据的最佳方式是:-

  1. 通过包中的意图传递数据
  2. 将其保存在共享首选项中
  3. 将其保存在数据库中
  4. 将数据保存到文件中
  5. 将数据保存在网络服务器上

【讨论】:

    【解决方案2】:

    数据本身是一个类吗?如果是这样,请使该类实现Parcelable 并将其设置为捆绑包,以启动您的新活动。这样,Android 会处理您的第一个 Activity 的生命周期,并且您可以安全地将数据传输到新的 Activity。

    如果这些是应用程序设置,请尝试使用共享首选项。

    如果您需要跨多个活动的持久数据处理,请使用数据库 (SQLite)。

    【讨论】:

    • 数据存储在一个带有字符串列表的类中,这个类包含另一个带有字符串列表的类。如果我作为可包裹发送..新活动是否会创建一个带有字符串列表的副本..在第一个活动完成后我读到的某些地方将不可用在第一个活动中创建的数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    • 2013-01-12
    相关资源
    最近更新 更多