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.pswp.cn/news/282511.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282511.shtml
英文地址,請注明出處:http://en.pswp.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…