在Android编程中,Context类到底是什么?它用于什么?
我在开发者网站上读过这篇文章,但我无法清楚地理解它。
在Android编程中,Context类到底是什么?它用于什么?
我在开发者网站上读过这篇文章,但我无法清楚地理解它。
当前回答
上下文表示当前。用于对当前屏幕执行操作的上下文。前任。 1. getApplicationContext() 2. 获取上下文()
Toast.makeText(getApplicationContext(), "hello", Toast.LENGTH_SHORT).show();
其他回答
上下文基本上用于资源访问和获取应用程序(用于应用程序上下文)或活动(用于活动上下文)或任何其他的环境详细信息。。。
为了避免内存泄漏,您应该为每个需要上下文对象的组件使用应用程序上下文。。。。有关详细信息,请单击此处
了解android环境的简单示例:
每个老板都有一个助手来照顾,来完成所有不那么重要和耗时的任务。如果需要一份文件或一杯咖啡,一名助手就在路上。一些老板几乎不知道办公室里发生了什么,所以他们也会询问助手。他们自己做一些工作,但在大多数其他事情上,他们需要助手的帮助。
在这种情况下,
Boss–是Android应用程序
助手–是一个上下文
文件/咖啡杯–是资源
当我们需要获取有关应用程序的不同部分(如活动、应用程序等)的信息时,我们通常会调用上下文。
涉及上下文的某些操作(需要助手的操作):
加载公共资源创建动态视图显示Toast消息启动活动等。
获取上下文的不同方式:
getContext()
getBaseContext()
getApplicationContext()
this
上下文表示获取环境数据的句柄。上下文类本身声明为抽象类,其实现由android OS提供。上下文就像电视的远程&电视中的频道是资源、服务等。
你能用它做什么?
正在加载资源。启动新活动。创建视图。正在获取系统服务。
获取上下文的方法:
getApplicationContext()获取上下文()getBaseContext()
简单地说:
顾名思义,它是应用程序/对象当前状态的上下文。它让新创建的对象了解发生了什么。通常,您调用它来获取有关程序的另一部分(活动和包/应用程序)的信息。
您可以通过调用getApplicationContext()、getContext()和getBaseContext()或this(当在从context扩展的类中时,例如Application、Activity、Service和IntentService类)来获取上下文。
上下文的典型用法:
创建新对象:创建新视图、适配器和侦听器:TextView tv=新建TextView(getContext());ListAdapter适配器=新的SimpleCursorAdapter(getApplicationContext(),…);访问标准公共资源:服务,如LAYOUT_INFLATER_SERVICE、SharedPreferences:context.getSystemService(LAYOUT_INFLATER_SERVICE)getApplicationContext().getSharedPreferences(*name*,*mode*);隐式访问组件:关于内容提供商、广播、意图getApplicationContext().getContentResolver().query(uri,…);
Context是每个app-s沙盒的android特定api提供访问应用程序私有数据,如资源、数据库、私有文件目录、首选项、设置。。。
对于一个应用程序的所有活动/服务/广播侦听器,大多数私有数据都是相同的。
由于Application、Activity和Service实现了Context接口,因此可以在api调用需要Context参数时使用它们