Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.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
Java 为什么每次传递上下文时它';it’有可能用不同的方法得到它_Java_Android_Android Context - Fatal编程技术网

Java 为什么每次传递上下文时它';it’有可能用不同的方法得到它

Java 为什么每次传递上下文时它';it’有可能用不同的方法得到它,java,android,android-context,Java,Android,Android Context,我是Android新手…我在看流行的开源Android应用程序的源代码,比如Android邮件、日历。。。并注意到,在每个类、服务、文件中…总是传递Context参数,然后该类将其初始化到其Context的本地实例中,它几乎多次出现在每个类中 我的问题是,为什么这些类需要将它作为构造函数或方法的参数来获取,而它们可以单独使用这些方法来获取它 1. getApplicationContext() 2. getContext() 3. getBaseContext() 他们可以在一开始就设置并使

我是Android新手…我在看流行的开源Android应用程序的源代码,比如Android邮件、日历。。。并注意到,在每个
类、服务、文件中…
总是传递
Context
参数,然后该类将其初始化到其
Context
的本地实例中,它几乎多次出现在每个类中

我的问题是,为什么这些类需要将它作为构造函数或方法的参数来获取,而它们可以单独使用这些方法来获取它

1. getApplicationContext()
2.  getContext()
3. getBaseContext()
他们可以在一开始就设置并使用它…为什么一个类中有这么多方法可以得到它?他们是否获得了其他
上下文
,而不是使用上述三种方法中的一种?
例如,我看到
服务
上下文类
的一个子类,因此他基本上可以使用
这个
关键字,而不必等待调用者发出它。

您不需要使用所有这些。活动和服务从上下文u扩展,因此您可以直接使用
。后续阅读。关于构造函数:哪个类的构造函数?创建的每个类都有自己的构造函数,其中一个参数是上下文,例如
myClass(stringfirstname,stringlastname,context-context){this.context=context}
它是一个普通的java类吗。如果需要上下文,则需要将其传递给构造函数。服务活动不需要施工人员。使用
this
Ok,那么如果我可以在任何类中使用
getApplicationContext
获得它并保存传递不必要的参数,为什么我要传递它呢?请阅读之前发布的链接。对于某些内容,您需要活动上下文。