Android开发实用技巧之一:全局获取Context的技巧

以下为up主阅读郭大神《第一行代码》后整理的笔记:


我们都知道活动本身就是一个Context对象,但是,当应用程序构架复杂起来的时候,很多的逻辑代码都会脱离Activity类,

而很多时候我们在这些逻辑类中又要使用到上下文对象Context,这时,我们只要通过下面的技巧就可以解决该问题,在

项目的任何地方都能获取到Context了。


1.定制自己的Application类

Android提供了一个Application类,每当程序启动的时候,系统就会自动将这个类进行初始化。我们可以通过继承Application

类去定制一个自己的Application类,以方便管理程序内如全局Context等全局状态信息


public class MyApplication  extends Application{
    
    private static Context context;

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

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



2.在AndroidManifest.xml中指定启动的时候初始化MyApplication类,而不是默认的Applicationl类

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.administrator.hellowworld" >

    <application
      android:name="com.crazyfzw.example.MyApplication"
    ...>
        ....
    </application>
</manifest>
注意:指定MyApplication的时候一定要加上完整的包名。


3.接下来就可以在不能直接获取到Context的地方通过使用以下一行代码就可轻松获取到Context了。

MyApplication.getContext()



你可能感兴趣的:(android,Android开发,全局Context)