Android之上下文context

Context,中文直译为“上下文”,SDK中对其说明如下: 

1、它描述的是一个应用程序环境的信息,即上下文。 
2、该类是一个抽象(abstract class)类,Android提供了该抽象类的具体实现类。 
3、通过它我们可以获取应用程序的资源和类,也包括一些应用级别操作,例如:启动一个Activity,发送广播,接受Intent信息等。

各种context及区别:

1.getApplicationContext():返回在应用程序运行的所有活动中的上下文context。 
2.Activity.this的context:返回当前activity的上下文 
3.getbasecontext():返回由构造函数指定或setBaseContext()设置的上下文,如果你想从应用程序中的另一种情况下,您可以访问上下文。 
4.getContext():返回上下文只查看当前运行的活动。 
区别: 
1.getApplicationContext() 生命周期是整个应用,应用摧毁它才摧毁Activity.this的context,this.getContext()属于activity,activity 摧毁他就摧毁。 
2.Activity.this的context 拿到的是当前Activity的Context,而getApplicationContext()拿到的是整个应用Application的Context。

使用

1.在Activity中可以直接调用getApplicationContext(),Activity.this/context获取相应的context。

2.在Fragment中的使用方式则为: 
      (1)getActivity();   //获取包含该fragment的活动(activity)的上下文 
      (2)getContext();   //获取该fragment上下文 
      (3)getActivity().getApplicationContext();  //通过包含该fragment的活动(activity)获取整个应用的上下文 
      (4)getContext().getApplicationContext();  //通过该fragment获取整个应用的上下文

     (在非特殊情况下(如:内存泄漏),这四种方式都可以正常使用,并且效果相同。)

转载于:https://www.cnblogs.com/wangxinqiang1995/p/6611880.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282511.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论坛中,无限分类的原理

1.创建数据表 CREATE TABLE category( cat_id SMALLINT unsigned not null auto_increment comment 类别id, cat_name VARCHAR(30) not null default comment 类别名称, par_id SMALLINT unsigned not null default 0 comment 类别父id, PRIMARY KEY (cat_id) )enginemyisam …

mooc- 基本程序设计方法week1,week2

学习了第一单元我们几本可以写出10行左右的代码。 week1:python编程之基本方法 1、从计算机到程序设计语言: 理解计算机:计算机是能够根据一组指令操作数据的机器。 功能性:可以进行数据计算 可编程性:根据一系列指令来执行 计算机…

Windows 11 的 2022 更新为每个人带来了新的东西

Windows 网站发布博客,宣布今天在 190 多个国家/地区推出 Windows 11 2022 更新。微软在过去一年中对 Windows 11 进行了非常大的改进,感觉每个月都有一次更新。对于之前的 Windows 11,相信很多人在使用过程中也遇到过或大或小的问题。而一部…

goaccess_nginx日志分析工具

在控制台分析nginx日志goaccess -f b.log生成html文件分析nginx日志vi ~/.goacce***ctime-format %Tdate-format %d/%b/%Ylog-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"各参数详解: man goaccess或Nginx Variable …

HTML5 Canvas 绘制六叶草

注意: context.arc(横坐标,纵坐标,弧半径,起始角度,终止角度,逆顺时针);这个函数挺难用,主要原因是最后参数和角度的关系。不管文档怎么说,按我的实际经验,逆顺时针false时,是逆时针旋转;逆顺时针true时&am…

tp框架中执行事务

function tran() {//定义事务成功失败的标志$mark true;//1. 实例化模型$model D(student);//2. 开启事务处理$model->startTrans();//3. ls减少2000$sql "update student set moneymoney-2000 where unamels";$result $model->execute($sql);//判断sql执行…

哪些听起来像段子一样的故事?

杭州海底世界,一个小走廊两边都是各种爬行动物展览。有两只蜥蜴当时是这个样子人还年轻,还比较猥琐,看到一个趴在另一个身上就觉得在做什么羞羞的事。于是就拍下来,发到群里,然后说了句交配中。然后一天就光拍照&#…

Event 事件 - 基础

事件驱动三要素 事件源:即触发事件的元素 事件:被JavaScript检测到的行为。例如: 鼠标点击 键盘按键 选输入框 事件处理函数:事件发生时要进行的操作,又叫做“事件句柄”或“事件监听器” 事件分类: 鼠标事…

String 与 StringBuilder 区别与用法

String用final修饰,实际上是不可更改的。我们平常用的“”来连接,实际执行过程中是将原字符串连接之后生成新的对象重新赋值给这个名字的字符串。Testpublic void myStrTest(){String s "str_s";System.out.println(s);String ss s.toUpperC…

防跳墙访问

出现场景: 1. 没有登录,也能访问网页 2. 没有相关权限,也能访问对应的控制器和方法 解决方案: 定义一个CommonController,其他控制器继承CommonController,在CommonController中定义初始化方法_initialize 注:这里用的是tp3.2框架,如果我们直接在Commo…

windows编译libevent时报告“缺少print_winsock_errors.obj”的解决

一、综述 Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库。 在libevent官网(http://libevent.org)下载源码包,在Windows平台编译时,会报缺少“print_winsock_errors.obj”的错误。 二、原因及解决 经检查,这是因为源码包中缺少…

7.python之正则表达式re模块

一.正则表达式中常用元字符的复习。通配符系列.(点)匹配任意一个除换行符以外的字符。*(星号)用来匹配*星号前面的字符或者一组字符0到无穷次。可以写为0(加号)匹配加号前面的一个字符或者一组字符1到无穷次。可以写为1?(问号)匹配问号前面的一个字符或者一组字符0到1次。可以…

C# WPF开源控件库HandyControl用法举例

概述HandyControl是一款免费开源的WPF控件库,Github可以获取到源代码,相关的示例代码也在github上能获取到,但是没有详细的中文说明文档,对于新手而言使用起来还是会有一些困扰,网上也很难搜到相关的用法示例&#xff…

nginx服务器,访问时显示目录,不直接显示index.php

一、效果 二、解决方案 修改网站配置文件,添加如下代码: autoindex on; autoindex_exact_size off; autoindex_localtime on; 修改后的网站配置文件如下: server {listen 80;server_name test.haveyb.com;charset utf-8;error_log …

复选框checked 选中后不显示打钩

复选框checked 选中后不显示打钩 checkbox属性checked"checked"已有,但复选框却不显示打钩的原因 复选框绑定了click事件,点一次选中,再点击取消选中, 第一次,可以正常显示选中和取消,但当再去选…

dotnet7 aot编译实战

原文地址:https://www.cnblogs.com/kewei/p/16722674.html0 起因这段日子看到dotnet7-rc1发布,我对NativeAot功能比较感兴趣,如果aot成功,这意味了我们的dotnet程序在防破解的上直接指数级提高。我随手使用asp.netcore-7.0模板创建…

实现ModelDriver接口的功能(转)

ModelDriver接口 来自com.opensymphony.xwork2.ModelDriven。是xwork-2.1.2-750.jar包的东西。 下面是源码&#xff1a; package com.opensymphony.xwork2; public abstract interface ModelDriven<T> { public abstract T getModel(); } 该接口只有一个getModel()方法…

Git的使用(推荐命令行模式)

一 使用 git版本控制已经逐渐取代cvs,svn等版本控制,对于一名程序员来说,使用git同样是一门必备的功课.1. 仓库初始化查看文件.如果有.git文件夹,说明创建本地仓库成功(.git是隐藏文件夹)2. 修改用户名和邮箱本地配置:注: 在全局配置与本地配置都存在用户名时,本地配置优先级更…

.NET MAUI 环境配置技巧

关于 .NET MAUI 国内⼩伙伴在配置 .NET MAUI 的时候&#xff0c;遇到不少问题。希望通过本教程&#xff0c;给到大家⼀些指引。01基础组件部分.NET SDK 安装建议安装最新的 .NET SDK下载地址 https://dotnet.microsoft.com/download/dotnet/6.0安装 .NET MAUI安装 .NET MAUI 成…

Linux中一些常用的很巧妙的命令

当你想要使用上一个命令的最后一个参数&#xff0c;&#xff08;上一个命令的最后一个参数很长&#xff09;&#xff0c;可以使用 esc .      (是esc 点&#xff09; !$ 引用上一个命令的最后一个参数 对命令行的编辑快捷方式&#xff1a; Ctr…