浅议 android下的context

简介:

android学习中,最开始学习的一个类是activities,你是否知道他与context之间 的关系,我们经常用startactivities来唤起一个activities他的定义有在哪里了,他是否与context有何种千丝万缕的联系。

凡是学习android的人,学习过java的人应当对context应该都不陌生,context不就是所谓的上下文对象吗?但具体何为context对象了,相信大多数人不是特别的清楚了。我这里就举生活中的一个例子。 锄头是用来干吗的了,这不是一句废话吗?是用来干活的了,但是你见过锄头在田地中自主的干活吗?那是碰见鬼了,锄头必须放在手这个外力对象中,才能由自在的干活。我这里就把锄头理解成一个相关的android中的,java中的lei,而context就好比人的手来盛放锄头这个类的容器。这样一描述,你是否理解了,context就是盛放类的容器。也就是所说的句柄。

context在整个android的体系的架构中是整么样,他继承与谁,他又是谁的父类了,我们打开开发文档来看看他的继承的关系。

 java.lang.Object
   ↳ android.content.Context
Known Direct Subclasses
ContextWrapper, MockContext
ContextWrapper Proxying implementation of Context that simply delegates all of its calls to another Context. 
MockContext A mock Context class. 
 
Known Indirect Subclasses
AbstractInputMethodService, AccessibilityService, AccountAuthenticatorActivity, Activity, ActivityGroup, AliasActivity, Application, BackupAgent, BackupAgentHelper, ContextThemeWrapper, DreamService, ExpandableListActivity, and 16 others

     由以上文档我们清晰是看到了, 所谓activities和application这些android中大名鼎鼎类都是继承与他,他是object这个java祖宗类的一级之类,由此,我可以大胆推测出来那些像startactivities和startservices的 方法都应该是在这里定义的,不信吧!打开eclipse时,来阅读他的源代码。如图所示:

这个方法又是怎么实现的了,这个方法一定是在其相应的子类中实现的了。那么他又是怎么回事了?有图有真相。

这个startactivity  是在其activity实现了,他交给了一个startactivitiesforresult中方法来执行,他具体执行是交给minstrumentation来执行的,这是一个开关变量,他也是在context是定义的在由此调用native的源代码。这就是我对context的一点愚见。

目录
相关文章
|
程序员 数据库 Android开发
面试问你Android中Context,你如何回答?
面试问你Android中Context,你如何回答?
95 0
|
Android开发
Android LayoutInflater.from(context).inflate()方法的作用
Android LayoutInflater.from(context).inflate()方法的作用
64 0
|
Android开发
Android 中实现上下文菜单(Context menu)详解
Android 中实现上下文菜单(Context menu)详解
89 0
|
XML Android开发 数据格式
Android 彩色上下文菜单 Context
Android 彩色上下文菜单 Context
|
API Android开发 对象存储
Android | 使用 ContentProvider 无侵入获取 Context
Android | 使用 ContentProvider 无侵入获取 Context
431 0
Android | 使用 ContentProvider 无侵入获取 Context
|
设计模式 Java Android开发
Android 复习笔记 —— 扒一扒 Context
Android 复习笔记 —— 扒一扒 Context
Android 复习笔记 —— 扒一扒 Context
|
Java Android开发 开发者
Android Context ContextWrapper ContextImpl Activity Service关系
Android Context ContextWrapper ContextImpl Activity Service关系
Android Context ContextWrapper ContextImpl Activity Service关系
|
Android开发
Android之Context 和 application context
Android之Context 和 application context
165 0
Android之Context 和 application context
|
Android开发
Android之Context和Activity互相转换
Android之Context和Activity互相转换
927 0
|
设计模式 安全 IDE
Context都没弄明白,还怎么做Android开发?
什么是 Context? 四大组件和 Context Application 和 Context 为什么 Application 的 Context 不可以创建 Dialog ?
下一篇
无影云桌面