Android 如何全局获取Context

来源:互联网 发布:观看时尚杂志的软件 编辑:程序博客网 时间:2024/05/17 09:00

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

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

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

1、编写自己的Application类

[java] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. package com.example.testapplication;  
  2.   
  3. import android.app.Application;  
  4. import android.content.Context;  
  5.   
  6. /** 
  7.  * 编写自己的Application,管理全局状态信息,比如Context 
  8.  * @author yy 
  9.  * 
  10.  */  
  11. public class MyApplication extends Application {  
  12.     private static Context context;  
  13.       
  14.     @Override  
  15.     public void onCreate() {  
  16.         //获取Context  
  17.         context = getApplicationContext();  
  18.     }  
  19.       
  20.     //返回  
  21.     public static Context getContextObject(){  
  22.         return context;  
  23.     }  
  24. }  
    接着,需要告知系统,当程序启动的时候应该初始化MyApplication类,而不是默认的Application类。

2、修改AndroidManifest.xml文件

     修改application属性:

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. <application  
  2.     android:name="com.example.testapplication.MyApplication"  
  3.      ....  
  4.    >  
    这样就实现了全局获取Context的机制。

3、使用

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

[java] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. MyApplication.getContextObject();  
0 0
原创粉丝点击