如何在android中使用上下文?
How to use Context in android?
WifiManager wifimanager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
这里为什么用context
?
谁能解释一下?
Context
is the global information about an application environment.
This is an abstract
class whose implementation is provided by the
Android
system. It allows access to application-specific resources and
classes, as well as up-calls for application-level operations such as
launching activities, broadcasting and receiving intents, etc.
如果您想使用 WIFI_SERVICE
这是一个 应用程序特定的资源
您必须使用 context
来检索资源。
如果您在活动或片段中,则可以直接调用 getApplicationContext().getSystemService(Context.WIFI_SERVICE)
而无需使用 context
对象,因为活动和片段继承自 Context
class。
但是如果你在非 Activity
或 Fragment
class 那么你必须从 activity 或片段(使用构造函数或设置器)传递上下文对象) class 以获得特定于应用程序的资源。
一个例子
public class AnyClass{
private Context context;
public AnyClass(Context context){
this.context = context;
}
...
WifiManager wifimanager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
}
WifiManager wifimanager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
这里为什么用context
?
谁能解释一下?
Context
is the global information about an application environment. This is anabstract
class whose implementation is provided by theAndroid
system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc.
如果您想使用 WIFI_SERVICE
这是一个 应用程序特定的资源
您必须使用 context
来检索资源。
如果您在活动或片段中,则可以直接调用 getApplicationContext().getSystemService(Context.WIFI_SERVICE)
而无需使用 context
对象,因为活动和片段继承自 Context
class。
但是如果你在非 Activity
或 Fragment
class 那么你必须从 activity 或片段(使用构造函数或设置器)传递上下文对象) class 以获得特定于应用程序的资源。
一个例子
public class AnyClass{
private Context context;
public AnyClass(Context context){
this.context = context;
}
...
WifiManager wifimanager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
}