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