【问题标题】:Android debugging return to same placeAndroid 调试回到同一个地方
【发布时间】:2016-09-07 11:26:59
【问题描述】:

假设我正在开发/调试一个活动,为了达到它我需要通过 4 个屏幕。

每次运行应用程序时,我都需要重新开始。

我尝试使用即时运行,但它并不总是有效。 现在我写了一个专门的代码,可以在屏幕之间自动跳转(而不是让我手动点击),但这并不实用..

我不能只打开活动,因为它从以前的活动中获取信息..

有没有办法让android studio在我构建和运行时回到同一个地方,或者保持一个状态?

(我知道这就是即时运行的用途,但是在开发大型应用程序时,它并不能很好地工作,至少对我来说是这样)

【问题讨论】:

  • 确保您使用的是 Android Studio 2.2(目前以“RC”的形式提供)。根据 Google 的说法,使用 2.2 即时运行的工作频率更高。
  • 我正在使用 2.1.3 。我认为 2.2 尚未正式发布。
  • 即使是 2.2 的第一个测试版也是 Google 的“官方”。有时,如果您需要新版本的功能,则值得冒险使用测试版软件。顺便说一句:“rc”是候选版本 - 因此它几乎是最终的稳定版本......
  • 我会试试的,谢谢

标签: android android-studio android-debug android-instant-run


【解决方案1】:

关于上一个活动

intent.putExtra("passed_from_previous_activity", true);
startActivity(intent);

关于活动

onCreate() {
    //This way you'll also know if this activity's been reached from the previous activity or not
    if(getIntent().getBooleanExtra("passed_from_previous_activity",false)) {
        //your state values here
        //i.e., the values that you receive from the previous activity
    }
}

如果你有一百个活动(扮演魔鬼的拥护者)并且你真的需要从第 55 个活动开始,这与第 53 个和第 54 个活动紧密耦合,那么我建议你有一个按钮用于调试目的 将您带到第 53 次活动,然后过渡到第 54 次,最后到第 55 次。

虽然关闭 instant run 是另一种解决方案,但您需要从第一个活动开始,并有一个按钮可以神奇地带您使用上面提到的小解决方法保留状态到第 53 次活动,并执行与上述相同的操作。

【讨论】:

  • 但我没有这些值。我传递了一个来自 api 的大对象。我不能在这里创建它,它太难了
  • 它是密不可分的吗? 从 api 捕获一次并将其用于调试如何?如果没有,您需要关闭instant run 并从第一个活动开始
  • 这就是我现在所做的。我有按钮可以把我带到我需要的地方,但制作它们需要时间。当前活动是像向导一样的流程的一部分(但不是向导)
猜你喜欢
  • 2023-04-06
  • 2019-02-20
  • 1970-01-01
  • 1970-01-01
  • 2018-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多