天天看点

Android 如何全局获取Context

有时,在处理业务逻辑的时候,需要Context对象,但在某些情况下,并非容易获取,这时就需要一些巧妙的手段来管理Context。

在Android中,提供了一个类Application,当应用程序启动的时候,系统会自动将这个类进行初始化,所以我们可以编写自己的Application类以管理一些全局的状态信息。

在这里,以获取全局Context为例。

1、编写自己的Application类

[java]  view plain  copy  print ?

  1. package com.example.testapplication;  
  2. import android.app.Application;  
  3. import android.content.Context;  
  4. public class MyApplication extends Application {  
  5.     private static Context context;  
  6.     @Override  
  7.     public void onCreate() {  
  8.         //获取Context  
  9.         context = getApplicationContext();  
  10.     }  
  11.     //返回  
  12.     public static Context getContextObject(){  
  13.         return context;  
  14.     }  
  15. }  

    接着,需要告知系统,当程序启动的时候应该初始化MyApplication类,而不是默认的Application类。

2、修改AndroidManifest.xml文件

     修改application属性:

[html]  view plain  copy  print ?

  1. <application  
  2.     android:name="com.example.testapplication.MyApplication"  
  3.      ....  
  4.    >  

    这样就实现了全局获取Context的机制。

3、使用

     无论在任何地方使用,都可以使用如下获取Context对象:

  1. MyApplication.getContextObject();