Context类与相关子类

  Android的应用程序弱化了Linux里的进程的概念,第三方应用开发者看到的都是一个个组件,比如常见的四大组件中的Activity,Service,Application等。这些组件需要存在于一个程序执行的上下文环境,Context抽象类的作用既是定义这样的一个环境,环境里的具体的各个组件的生存环境(抽象方法与接口),由其子类来具体实现。

Context提供了获取应用环境信息的能力(子类具体实现的API),可以对本应用相关的组件进行操作,比如启动Activity,也可以获取本应用相关的资源。利用Context,我们可以用来对构成应用的基础组件执行相应的操作。

这个类族的继承与委托结构如下

IDE里完整的看起来是这样

其中ContextImpl类为抽象类Context的方法实现者,是上下文功能实现者;上下文功能封装类ContextWrapper会放置一个对ContextImpl对象的引用(mBase),实现的抽象方法通过调用mBase的方法来实现(此为封装之意,mBase为其委托)。Application,Service,Activity可以各自扩展Context,并自定义逻辑替代扩充mBase的方法。

下面先看Context类,这个类看着东西很多,其实很多都是注释

时间: 2024-12-05 00:43:41

Context类与相关子类的相关文章

源码心德`Context`类

Context,中文直译为“上下文”,SDK中对其说明如下: Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well

【IOS学习基础】OC类的相关

几天前突然在别人的类的.m文件中看到这么一句代码:@synthesize xxxx = _xxxx; 当时愣是没理解啥意思,过后才缓过神来发现原来是把一些类的基础知识忘记了,虽然不用过多去深究以前的一些旧东西,但但是既然遇到了,还是复习一下. 一.类与对象 1.类:类是定义同一类所有属性和方法的蓝图或原型. 2.对象:用来描述客观事物的一个实体,由具体的属性和方法构成. 3.类与对象的关系:类是用来制作无数实体(对象)的工程图纸. 4.类的特征:属性 5.类的行为:方法 二.封装 1.类就是封装

【Android开发】Context类

Context 英文直译:上下文 Google官方文档概述: Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well

批量根据实体类生成相关的类

<# // 从实体类生成相关的实体类 #> <#@ template hostspecific="true" language="C#" #> <#@ assembly name="EnvDTE" #> <#@ assembly name="System.Core" #> <#@ assembly name="System.Data" #> <

小酌重构系列[11]&mdash;&mdash;提取基类、提取子类、合并子类

概述 继承是面向对象中的一个概念,在小酌重构系列[7]--使用委派代替继承这篇文章中,我"父子关系"描述了继承,这是一种比较片面的说法.后来我又在UML类图的6大关系,描述了继承是一种"is a kind of"关系,它更偏向于概念层次,这种解释更契合继承的本质.本篇要讲的3个重构策略提取基类.提取子类.合并子类都是和继承相关的,如果大家对继承的理解已经足够深刻了,这3个策略用起来应该会得心应手. 提取基类 定义:如果有超过一个类有相似的功能,应该提取出一个基类,并

Android开发中Context类的作用以及Context的详细用法

Android中Context的作用以及Context的详细用法 本文我们一起来探讨一下关于Android中Context的作用以及Context的详细用法,这对我们学习Android的资源访问有很大的帮助,文章中也贴出了一些关于Android Context使用的示例代码,非常不错,以下是原文: Context基本概念 Context是什么? 1) Context是一个抽象类,其通用实现在ContextImpl类中. 2) Context:是一个访问application环境全局信息的接口,通

类的相关内置函数及反射

类变量的内存位置相关练习 1.1 class StarkConfig(object): list_display = [] def get_list_display(self): self.list_display.insert(0,33) return self.list_display class RoleConfig(StarkConfig): list_display = [11,22] s1 = StarkConfig() result1 = s1.get_list_display()

c++string类的相关操作

string的应用是非常典型的,下面我写了一些简单的string类的相关的一些操作,包括增删查改等一些功能和一些运算符的重载,包括他们的测试用例: #include<iostream>#include<string>#include<assert.h>using namespace std; #define CARA 3;class String{public: String(char *str = "")  :_str(new char[strle

C++ 基类指针,子类指针,多态

基类指针和子类指针之间相互赋值(1)将子类指针赋值给基类指针时,不需要进行强制类型转换,C++编译器将自动进行类型转换.因为子类对象也是一个基类对象. (2)将基类指针赋值给子类指针时,需要进行强制类型转换,C++编译器将不自动进行类型转换.因为基类对象不是一个子类对象.子类对象的自增部分是基类不具有的.(强制转换告诉编译器为对象增加子类所特有的部分) fish* fh1;  animal* an1 = new animal; fh1 = (fish*)an1; 原理: 当我们构造fish类的对