1. 程式人生 > >說說在 Android 如何在全域性獲取 Context

說說在 Android 如何在全域性獲取 Context

Android 提供了一個 Application 類,每當應用啟動時,系統就會初始化該類。我們可以定製一個基礎的 Application 類,以便管理應用內的一些全域性資訊。

定義 BaseApplication:

public class BaseApplication extends Application {

    private static Context context;

    @Override
    public void onCreate() {
        context = getApplicationContext();
    }

    public static Context getContext() {
        return context;
    }
}

配置:

AndroidManifest.xml

<application
	android:name="net.deniro.android.materialdesigntest.BaseApplication"
	...">
	...
</application>

這樣就可以在任意地方愉快地獲取 Context 啦 :

Toast.makeText(BaseApplication.getContext(), "點選了新增按鈕", Toast.LENGTH_SHORT).show();

因為一個專案只能配置一個 Application,所以當引用的第三方庫有自己的 XXXApplication 時,我們可以在 BaseApplication 中去呼叫第三方庫的初始化方法,這樣它們就可以和諧共處啦O(∩_∩)O~