所以我想我是Android的新手并且对于android contextss如何工作以及包含在上下文中的内容以及不包含的内容感到困惑。我想知道我是否导入了一个java文件,其中一个实现View.OnClickListener的类在一个活动中是否算作上下文的一部分或者没有?此外,如果我有一个名为NewOnClick的类实现View.OnClickListener,我可以使用android:OnClick =“NewOnClick”或者只能使用方法。我问的原因是我想编写几乎包含在活动中的处理程序。
还有什么方法可以解释某些上下文的确切做法很多这些其他内容并没有真正解释它是什么,或者只是说它传递给其他小部件并管理资源,这真的不是'在我看来,如果无论如何你能以一种与GTK(gtkmm)或wxWidgets一起工作的人有意义的方式解释它,那就非常具有描述性。
答案 0 :(得分:0)
有一种简单的方法可以查看它,即Context是应用程序,活动,服务等的基类。因此,Activity中的所有内容都继承自Context。 Android中的Context是您当前正在执行的代码所在的环境,意味着它可用的一切以及影响它的一切(至少,您有权访问)。
例如,在一个Activity中,“this”指的是当前的Activity,并且由于它继承自Context,因此访问当前上下文中的所有内容以及Activity中定义的内容,例如:您的本地字段,其他方法等。
在这里看看间接子类:
http://developer.android.com/reference/android/content/Context.html
NB。永远不要在派生类的生命周期之外公开上下文。例如不要让生命周期大于其容器的任何对象挂在引用上。
http://android-developers.blogspot.co.uk/2009/01/avoiding-memory-leaks.html
希望这有助于而不是混淆。
答案 1 :(得分:0)
从文档中
上下文是:
有关应用程序环境的全局信息的接口。 [...]它允许访问特定于应用程序的资源和类, 以及对启动等应用程序级操作的上调 活动,广播和接收意图等。
例如,如果您需要访问应用程序中的某些资源,例如显示图像,播放音频文件,设置自定义字体(图像,音频文件,字体 - 都是资源),则需要上下文参考。
Activity
类继承自Context
,这就是为什么你可能没有“感觉到”Context,但实际上你在任何地方都使用它。