Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android(Kotlin)上下文使用_Android_Kotlin_Main Activity - Fatal编程技术网

Android(Kotlin)上下文使用

Android(Kotlin)上下文使用,android,kotlin,main-activity,Android,Kotlin,Main Activity,我一直在研究如何访问活动上下文的各种方法,结果喜忧参半。我遇到的一个概念是在“mainActivity”类中创建一个全局上下文变量。请参阅下面的GitHub writeup: 这似乎非常吸引人,我确信它在每次我需要访问上下文时都会起作用。我的问题是,这是适当的,鼓励的,还是应该避免的?这样做有陷阱和危险吗?或者,它可能是情境性的,并且真正取决于应用程序的用途是什么 总之,我正在寻找一个有经验的答案,关于如何处理上下文、何时访问上下文以及如何访问上下文(只是高级建议)。我已经学习了很多Andro

我一直在研究如何访问活动上下文的各种方法,结果喜忧参半。我遇到的一个概念是在“mainActivity”类中创建一个全局上下文变量。请参阅下面的GitHub writeup:

这似乎非常吸引人,我确信它在每次我需要访问上下文时都会起作用。我的问题是,这是适当的,鼓励的,还是应该避免的?这样做有陷阱和危险吗?或者,它可能是情境性的,并且真正取决于应用程序的用途是什么

总之,我正在寻找一个有经验的答案,关于如何处理上下文、何时访问上下文以及如何访问上下文(只是高级建议)。我已经学习了很多Android教程,并多次访问/使用上下文,但我真的很想提高我对该主题的理解,并向比我更精通Kotlin Android开发的其他人学习。我只是觉得我经常用翅膀飞行;我宁愿理解它,并因此成为一名更好的开发人员


提前谢谢

如果您遵循该链接,它将用于应用程序上下文。 有两种类型的上下文
ApplicationContext
ActivityContext
,它们都具有超类
context

ActivityContext
表示当前活动信息,it生命周期取决于
ActivityLifecycle

ApplicationContext的
如果您需要一个其生命周期与当前活动分开的上下文,则只需使用此上下文即可

如果要启动任何不依赖于活动生命周期的服务或功能,则可以使用
applicationContext

如果要显示
对话框
开始触觉
,可以使用
activityContext

您可以在活动(Kotlin)中获取applicationContext:-
this@ActivityName.application

您可以在activity(Kotlin)中获取activityContext:-
this@ActivityName

您可以在片段(Kotlin)中找到上下文:-
活动
上下文

如果您遵循链接,它将用于应用程序上下文。 有两种类型的上下文
ApplicationContext
ActivityContext
,它们都具有超类
context

ActivityContext
表示当前活动信息,it生命周期取决于
ActivityLifecycle

ApplicationContext的
如果您需要一个其生命周期与当前活动分开的上下文,则只需使用此上下文即可

如果要启动任何不依赖于活动生命周期的服务或功能,则可以使用
applicationContext

如果要显示
对话框
开始触觉
,可以使用
activityContext

您可以在活动(Kotlin)中获取applicationContext:-
this@ActivityName.application

您可以在activity(Kotlin)中获取activityContext:-
this@ActivityName

您可以在片段(Kotlin)中找到上下文:-
活动
上下文

这是非常有洞察力的,并且澄清了我的许多误解。有时候,我只需要像这样简单地阅读它。我很感激,这肯定会帮助我的理解向前发展。这是非常有洞察力的,并且澄清了我的许多误解。有时候,我只需要像这样简单地阅读它。我很感激,这肯定会有助于我的理解向前发展。