Android 全局Context
android只有activity可以獲取到context
由于許多的邏輯代碼會被分離到對應的模塊代碼中去實現 所以需要能夠隨處獲得上下文來簡化代碼邏輯
繼承Application類
public class GlobalContext extends Application{
private static Context mContext;
@Override
public void onCreate() {
super.onCreate();
mContext = getApplicationContext();
}
// 全局context變量的獲取方法
public static Context getContext() {
return mContext;
}
}
注冊全局Context類
在工程對應的AndroidManifes.xml中 applicaion標簽
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cx.meitu.com.globalcontext">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:name=".GlobalContext"> // 這里指定全局Context類
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>