3

奥利利书说:

Android 编程在概念上不同于其他一些环境的编程。在 Android 中,您会发现自己更多地响应应用程序状态的某些变化,而不是自己推动这些变化。

它是一个托管的、基于容器的环境,类似于 Java 小程序或 servlet 的编程。

[...]

因此,当涉及到活动生命周期时,您无法说出活动处于什么状态,但您有很多机会来说明从状态到状态的转换会发生什么。

两个问题:

  1. 它们是什么意思,您会发现自己更多地响应应用程序状态的某些变化,而不是自己驱动这些变化”请举个例子。

  2. 为什么你不说活动是什么,但要说从状态到状态的转换会发生什么?

4

3 回答 3

1

这个措辞有点令人困惑,但这是我要对你的问题说的话:

  1. 关于“响应”的部分是指许多 Android 编程的基于事件的性质。例如,每个 Activity 都有标准方法,例如onCreate(..)onResume(...)在应用程序生命周期的某些阶段自动调用。正确响应这些生命周期变化是您的工作。

  2. 我不确定您所说的“不要说活动是什么”是什么意思,但我会猜测一下。基本上,活动不仅仅是您在代码块中定义的某个屏幕或操作,然后通过一次调用显示在屏幕上。您可以简单地管理 Activity 的状态并在每个点执行不同的操作。例如,当 Activity 启动并被onCreate调用时,您可能应该加载视图并设置 Activity 的外观。

于 2012-07-18T20:42:14.237 回答
1

他们的意思基本上是您实际上只在事件队列的一侧工作。这些事件都是与应用程序的不同状态一起预定义的。您只需添加侦听器并决定如何做出反应。

于 2012-07-18T20:47:40.143 回答
0

嗯,在移动平台上开发应用程序在一定程度上限制了开发人员。它不像一个完整的操作系统,在移动设备上一次运行多个应用程序是昂贵的。因此,正在运行的应用程序会发生什么很大程度上取决于用户在做什么。如果用户返回主屏幕并“关闭”您的应用程序,您将无法再控制它会发生什么。您可以控制的是您的应用程序在用户与其交互时执行的操作,并且您可以响应不同的事件,例如前景丢失。您实际上只能根据用户的操作来控制应用程序的操作。

于 2012-07-18T21:01:49.810 回答