zyuchao 发表于 2012-12-19 23:09:45

Android中Context详解

Android中Context详解

<div class="postText"><div id="cnblogs_post_body">转载必须注明出处 :http://blog.csdn.net/qinjuning
大家好,今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中时刻的在与它打交道,例如:Service、BroadcastReceiver、Activity等都会利用到Context的相关方法 ; 说它陌生,完全是因为我们真正的不懂Context的原理、类结构关系。


Context,中文直译为“上下文”,SDK中对其说明如下:Interface to global information about an application environment. This is an abstract class whose implementationis provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc

从上可知一下三点,即:
        1、它描述的是一个应用程序环境的信息,即上下文。
      2、该类是一个抽象(abstract class)类,Android提供了该抽象类的具体实现类(后面我们会讲到是ContextIml类)。
      3、通过它我们可以获取应用程序的资源和类,也包括一些应用级别操作,例如:启动一个Activity,发送广播,接受Intent信息 等。。

   于是,我们可以利用该Context对象去构建应用级别操作(application-level operations) 。

一、Context相关类的继承关系


http://hi.csdn.net/attachment/201203/1/0_1330607569Vj4c.gif

相关类介绍:

Context类   
      路径: /frameworks/base/core/java/android/content/Context.java
      说明:抽象类,提供了一组通用的API。
      源代码(部分)如下:   
<div style="line-height: 16px; text-indent: 0px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px;"><div class="cnblogs_code"> 1 public abstract class Context { 2 3     ... 4 5   public abstract Object getSystemService(String name);//获得系统级服务 6 7   public abstract void startActivity(Intent intent);   //通过一个Intent启动Activity 8 9   public abstract ComponentName startService(Intent service);//启动Service10 11   //根据文件名得到SharedPreferences对象12 13   public abstract SharedPreferences getSharedPreferences(String name,int mode);14 15    ...16 17 }
页: [1]
查看完整版本: Android中Context详解