我几天前已经开始探索Android世界了,我正在通过Mario Zechner的书“开始Android游戏”来做这件事。
到目前为止,我可能对平台和我见过的一些事情有很多疑问,但我知道它会变得更好。我现在要问的只是活动:我看到了活动的生命周期。我知道活动就像屏幕一样。我不知道的是,我是否必须在我编写的每个活动中指定onCreate(),onResume()等方法。
答案 0 :(得分:4)
据我所知onCreate()
是强制性的,其他方法取决于您如何使用该活动
答案 1 :(得分:1)
活动的整个生命周期发生在第一次调用onCreate(Bundle)到最后一次调用onDestroy()之间。活动将在onCreate()中完成所有“全局”状态设置,并释放onDestroy()中的所有剩余资源。所以onCreate(Bundle)应该在活动中。 onResume()的使用取决于您的应用程序要求。 有关详情,请转至http://developer.android.com/reference/android/app/Activity.html
答案 2 :(得分:1)
欢迎来到Android世界。
一般来说,最好充实所有方法,例如onPause(),onResume()但是当你创建一个android程序时,通常你只需要需要来充实onCreate( )活动方法。
除了onCreate,如果我的术语不正确,请原谅,如果不覆盖它们,其他方法将遵循“默认”行为。因此,如果您需要应用程序在暂停时执行某些特定操作,那么现在是添加onPause()版本的好时机,否则您可以将其遗漏。
答案 3 :(得分:0)
您必须指定所有这些方法或其中任何方法。这取决于您想要的实施类型
示例强>
我创建了我的Activity(A),因为它扩展了Activity我没有覆盖任何方法,比如onCreate(),但是我创建了一些变量并创建了一些方法。
让我们假设我在那里创建了第二个活动我想要一些我已经使用onCreate()方法的视图如果我想要在活动AI中定义的变量和方法可以获得那些变量和方法如果我写 因此,不必从活动中使用所有这些方法。如果您没有编写自己的实现,那么默认实现将会发挥作用。class B extends A
< / p>
答案 4 :(得分:0)
简短回答将是否
您无需在每个Activity
onCreate
的代码中指定,依此类推。无论如何,在父Activity
中会有onCreate
但是长回答说:良好的做法不是依赖隐式/不可见的代码,而是让代码在你的控制之下(即使它是假的)。我以这种方式编写所有onCreate / onDestroy等代码:
public static final boolean DEBUG=true;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
if(DEBUG)
Log.d(TAG, "Creating "+this.toString());
}
答案 5 :(得分:0)
您应该通过从基类Activity重写它来编写onCreate()
方法来设置视图。应使用setContentView()
方法中的onCreate()
方法在此处生成视图。
关于onResume()
,onPause()
和其他方法,编写这些方法并不是强制性的,但在需要实现特定功能时非常有用。
另外,作为初学者,请查看本文档中的表1 ,希望这有助于您阐明自己的概念: http://developer.android.com/guide/topics/fundamentals/activities.html