Context字面意思上下文,位于framework package的android.content.Context中,很多方法需要通过  Context才能识别调用者的实例,比如说Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的 实例为Activity,而到了一个button的onClick(View view)等方法时,我们用this时就会报错,所以我们可能使用ActivityName.this来解决,主要原因是因为实现Context的类主要有Android特有的几个模型,Activity、Service以及BroadcastReceiver。

Context提供了关于应用环境全局信息的接口。它是一个抽象类,它的执行被Android系统所提供。它允许获取以应用为特征的资源和类型。同时启动应用级的操作,如启动Activity,broadcasting和接收intents。

两种类型的Context

在android中context可以作很多操作,但是最主要的功能是加载和访问资源。在android中有两种context,一种是 application context,一种是activity context,通常我们在各种类和方法间传递的是activity context。

Context的主要方法

public abstract

1、Context getApplicationContext()

2、ApplicationInfo getApplicationInfo()

3、ContentResolver getContentResolver ()

4、PackageManager getPackageManager ()

5、String getPackageName ()

6、Resources getResources ()

7、SharedPreferences getSharedPreferences (String name, int mode)

8、String getString (int resId)

9、Object getSystemService (String name)

10、String[] databaseList()

11、boolean deleteDatabase()

12、boolean deleteFile()

13、String[] fileList()

14、AssetsManager getAssets()

15、File getCacheDir()

16、File getDatabasePath(String name)

17、File getDir(String name, int mode)

18、File getFilesDir()

19、File getExternalCacheDir()

20、File getExternalFilesDir(String type)

21、CharSequence getText(int resId)

22、FileInputStream openFileInput(String name)

23、FileOutputStream openFileOutput(String name)

24、SQLiteDatabase openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory)

25、SQLiteDatabasse openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory, DatabaseErrorHandler errorHandler)

26、Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter)

27、Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission, Handler scheduler)

28、void sendBroadcast(Intent intent)

29、void sendBroadcast(Intent intent, String receiverPermission)

30、void sendOrderedBroadcast(Intent intent, String receiverPermission, BroadcaseReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtra)

31、void sendOrderedBroadcast(Intent intent, String receiverPermission)

32、void sendStickyBroadcast(Intent intent)

33、void sendStickyOrderedBroadcast(Intent intent, BroadcastReceiver resultReceiver, Handler schedule, int initialCode, String initialData, Bundle initialExtra)

34、void startActivities(Intent[] intents)

35、void startActivity(Intent intent)

36、CompenentName startService(Intent service)

37、boolean stopService(Intent service)

38、void unbindService(ServiceConnection conn)

39、void unregisterReceiver(BroadcastReceiver receiver)

Context 数目的计算:

总Context实例个数 = Service个数+ Activity个数+ 1(Application对应的Context实例)

Context类的继承关系

Context类    路径: /frameworks/base/core/java/android/content/Context.java

转载于:https://www.cnblogs.com/android-madan/p/3403014.html

Android ---- Context相关推荐

  1. Android Context解析以及getContext()、getApplication()、getApplicationContext()和getBaseContext()区别

    文章目录 Context 介绍 Context数量 getContext().getApplication().getApplicationContext()和getBaseContext()区别 g ...

  2. Android Context 到底是什么?

    什么是Android Context? 一个Context意味着一个场景,一个场景就是我们和软件进行交互的一个过程.比如和妹纸约会的月下小桥,比如当你使用微信的时候,场景包括聊天界面.通讯录.朋友圈, ...

  3. Android Context 是什么?

    [转载请注明出处:http://blog.csdn.net/feiduclear_up CSDN 废墟的树] PS:修该了一些有误区的地方. 引言 Context对于Android开发人员来说并不陌生 ...

  4. 装饰者模式及其在 Android Context 中的应用

    一.装饰者模式 1.1 定义 装饰者模式又名包装(Wrapper)模式.它可以在不改变原类文件以及不使用继承的情况下,动态地将责任附加到对象上,从而实现动态拓展对象的功能.它是通过创建一个包装对象,也 ...

  5. android上下文关系,Android Context上下文的理解 Hua

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? Context概念 在安卓对象中,Context是经常使用的元素-但应该也是错误使用率最高的. 你在加载资源.启动一个新 ...

  6. Android Context 详解

    Context 类图 Context数量 那么一个应用程序中到底有多少个Context呢?其实根据上面的Context类型我们就已经可以得出答案了.Context一共有Application.Acti ...

  7. android context继承关系,android中Context深入详解

    以下分别通过Context认知角度,继承关系,对象创建等方面android中Context做了深入的解释,一起学习下. 1.Context认知. Context译为场景,一个应用程序可以认为是一个工作 ...

  8. Android Context Hook

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/120954983 本文出自[赵彦军的博客] 文章目录 Context Hook Co ...

  9. Android Context初探

    1.背景 作为一个Android新手,每次看到使用Context作为参数时,都有点焦虑,有时候传this就可以,有时候又不行,不知道为什么可以,为什么又不可以,根本原因还是对Context是一知半解, ...

  10. Android Context应用上下文详解

    Context类 ,说它熟悉,是应为我们在开发中时刻的在与它打交道,例如:Service.BroadcastReceiver.Activity等都会利用到Context的相关方法 : 说它陌生,完全是 ...

最新文章

  1. Java 匿名类也能使用构造函数
  2. 6.ajax应用,ajax应用
  3. 浮点型数据2字节_C语言进阶之路:数据类型 - 整型、字符型和浮点型的扩展!...
  4. Mybatis传入多参问题
  5. Edge浏览器开发人员工具
  6. 靠着零代码报表工具,转行报表开发后月薪超过3万
  7. 三个下载原版Windows镜像的方法
  8. 六、量子纠错码的构成法
  9. 基本遗传算法(GA)的算法原理、步骤、及Matlab实现
  10. springboot 整合redis配置文件
  11. 联想IBM ThinkPad 笔记本BIOS设置手册
  12. P1616 疯狂的采药+P1833 樱花+P1077 [NOIP2012 普及组] 摆花+P1064 [NOIP2006 提高组] 金明的预算方案
  13. CTFHub-file_get_contents
  14. 塔夫斯大学计算机教授,观汗辨健康?美国塔夫茨大学发明了一种汗液传感器
  15. Kotlin第二章:kotlin基础
  16. js教程实践(JS基础)
  17. 【Axure交互教程】滑块控制图片放大缩小效果
  18. linux网络设备和一些知识点总结
  19. 使用3D-DNA流程,结果不升反降怎么破?
  20. 信息化时代下,企业面临的5个数据安全威胁

热门文章

  1. Flutter入门:设置全局字体
  2. .net 和 java 技术对应关系
  3. 第一次摸服务器遇到的问题总结
  4. 通过URL传参数,然后第二个页面需要获取参数
  5. 干净的停止tomcat/java应用程序
  6. C++连接mysql的两种方式(ADO连接和mysql api连接)
  7. 如果你恨一个程序员,忽悠他去做iOS开发
  8. 设计模式08: Composite 组合模式(结构型模式)
  9. 64win7+64Oracle+32plsql
  10. phing用户手册第四章Getting Started译文