全局Context

本文介绍如何通过自定义Application类来实现全局Context的获取,包括创建MyApplication类并继承自Application,以及在AndroidManifest.xml中指定使用自定义的Application类。

某些情况下,获取Context并非是那么容易的事情,不过Android提供了一个Application类,每当应用程序启动的时候,系统就会自动将这个类进行初始化。而我们可以定制一个自己的Application类,以便于管理程序内一些全局的状态信息,如全局Context。定制自己的Application如下:

1、 创建一个MyApplication类,继承自Application ,代码如下:

public class MyApplication extends Application {

    public static Context context;

    public static Context getContext() {
        return context;
    }

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

2、 告知系统,程序启动时初始化MyApplication,而不是Application,在AndroidManifest.xml文件的中指定,如下:

<application
----------  
**android:name="ln.lg.happinessweather.utils.MyApplication"**
----------
        android:allowBackup="true"
        android:icon="@drawable/logo"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name="ln.lg.happinessweather.main.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name=".main.WeatherActivity"/>
    </application>

注意,在指定时,一定要加上完整的包名,不然系统无法找到该类。

3、 如此就实现了全局Context,后面不论在项目的任何地方使用Context,只需调用MyApplication.getContext()就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值