Android ---- Context

news2023/12/12 3:49:43

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类的继承关系

 

120711141690351

 

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系七分地网进行投诉反馈,一经查实,立即删除!

相关文章

Linux进程详细信息查看

我们通过ps及top系列命令查看进程信息时,只能看到命令执行的相对路径,查不到的进程的详细信息(如绝对路径),那么这些信息到底如何查找呢? 其实,在Linux中,一切皆文本,那…

python操作json_如何使用Python处理JSON数据

如何使用Python处理JSON数据?本篇文章就给大家介绍使用Python处理JSON数据的基本方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 在介绍使用Python处理JSON数据的基本方法之前,我们首先要了解一下什么是J…

面试题——interleave

2019独角兽企业重金招聘Python工程师标准>>> <!-- lang: cpp --> /** *3个字符串a&#xff0c;b&#xff0c;c。判断c是否是a和b的interleave&#xff0c;也就是c中应该有a&#xff0c;b中所有字符&#xff0c; *并且c中字符顺序和a&#xff0c;b中一样。 *比…

corosync/openais+pacemaker+drbd+web实现高可用群集

拓扑图:配置前提&#xff1a; 1.节点的名字必须跟uname -n的名字相同&#xff0c;而且两个主机必须能通过主机名来访问。尽量不通过DNS来访问。时钟时间保持一样。 2.双方的通信要必须通过SSL的无障碍通信机制 3.双节点之间可以通过某个IP来提供连接&#xff0c;但是这只是通信…

0459-Repeated Substring Pattern(重复的子字符串)

这个系列算是出于个人兴趣开的一个新坑吧&#xff0c;最近看到同学刷LeetCode算法题&#xff0c;就想写写那些可以一行Python代码写出来的题目&#xff0c;因此本专栏的文章的解题方式效率不做保证&#xff0c;只为追求“一行的浪漫”。 题目 题解 简单解释一下题目&#xff0…

golang 反射_golang原理篇- nil:接口类型和值类型的区别

interface接口类型是golang的最重要的数据结构&#xff0c;底层是value和type组成&#xff0c;实现interface的struct的实例都能赋值给接口类型的变量&#xff0c;实现动态value的能力。type记录value的类型。int 3 的接口表示是(int, 3)&#xff0c;接口的零值是 (nil, nil)&a…

分布式一致性问题

什么是分布式一致性问题呢&#xff1f;简单来说&#xff0c;就是在一个分布式系统中&#xff0c;有多个节点&#xff0c;每个节点都会提出一个请求&#xff0c;但是在所有节点中只能确定一个请求被通过。而这个通过是需要所有节点达成一致的结果&#xff0c;所以所谓的一致性就…

can1--can初探

updating http://download.csdn.net/detail/songqqnew/4399668 http://download.csdn.net/detail/songqqnew/4399670http://download.csdn.net/detail/songqqnew/4399684mcp2515寄存器一览 几个寄存器名称及地址 TXBnCTRL——发送缓冲器n 控制寄存器&#xff08;地址&#xff1…

Michael Nygard on Building Resilient Systems

原文 InfoQ.Feature Complete Software 和 Production Ready Software是不同的。而很多时候&#xff0c;开发人员不清楚Production下的情况&#xff0c;所以没有很好的考虑到在Production下运行的情况。例如&#xff0c;在开发环境下&#xff0c;Sever A和Server B的压力是 1&…

python开发_tkinter_单选按钮

这篇blog主要是描述python中tkinter的单选按钮操作 下面是我做的demo 运行效果&#xff1a; 代码部分&#xff1a; 1 from tkinter import *2 3 # This is a demo program that shows how to4 # create radio buttons and how to get other widgets to5 # share the informat…

多继承有什么坏处,为什么java搞单继承,接口为什么可以摈弃这些坏处

2019独角兽企业重金招聘Python工程师标准>>> 多继承虽然能使子类同时拥有多个父类的特征&#xff0c;但是其缺点也是很显著的&#xff0c;主要有两方面&#xff1a; (1)如果在一个子类继承的多个父类中拥有相同名字的实例变量&#xff0c;子类在引用该变量时将产生歧…

提取身份证信息-阶段1 图像处理

目标 为了实现pc端&#xff0c;提取一张拍摄的身份证照片中人物的信息&#xff0c;照片背景单一且为浅色&#xff0c;初步使用图像处理知识进行处理。 由浅入深&#xff0c;第一步&#xff0c;使用简单的图片&#xff0c;并且有针对性的对某幅图片进行针对性处理&#xff0c;得…

xfce下thunar启动慢解决

为什么80%的码农都做不了架构师&#xff1f;>>> sudo vim /usr/share/gvfs/mounts/network.mount 查找: AutoMounttrue 修改成: AutoMountfalse 转载于:https://my.oschina.net/walle/blog/162803

0100-Same Tree(相同的树)

这个系列算是出于个人兴趣开的一个新坑吧&#xff0c;最近看到同学刷LeetCode算法题&#xff0c;就想写写那些可以一行Python代码写出来的题目&#xff0c;因此本专栏的文章的解题方式效率不做保证&#xff0c;只为追求“一行的浪漫”。 题目 题解 给你两棵二叉树的根节点 p 和…

iphone数据存储之-- Core Data的使用(一)

转自&#xff1a;http://www.cnblogs.com/xiaodao/archive/2012/10/08/2715477.html 一、概念 1.Core Data 是数据持久化存储的最佳方式 2.数据最终的存储类型可以是&#xff1a;SQLite数据库&#xff0c;XML&#xff0c;二进制&#xff0c;内存里&#xff0c;或自定义数据类型…

redis scan 效率太慢_Redis 基础、高级特性与性能调优(下)

数据淘汰机制Redis提供了5种数据淘汰策略&#xff1a;volatile-lru&#xff1a;使用LRU算法进行数据淘汰(淘汰上次使用时间最早的&#xff0c;且使用次数最少的key)&#xff0c;只淘汰设定了有效期的keyallkeys-lru&#xff1a;使用LRU算法进行数据淘汰&#xff0c;所有的key都…

理解WebKit和Chromium: Web应用和Web运行环境

转载请注明原文地址&#xff1a;http://blog.csdn.net/milado_nju注&#xff1a;鉴于这一领域非常热&#xff0c;自己也投身其中&#xff0c;会单独开辟一个专题介绍Web应用和Web运行环境。## 概述Web已经从web网页向web应用&#xff08;web application&#xff09;方向发展&a…

kafka 削峰_从面试角度一文学完 Kafka

Kafka 是一个优秀的分布式消息中间件&#xff0c;许多系统中都会使用到 Kafka 来做消息通信。对分布式消息系统的了解和使用几乎成为一个后台开发人员必备的技能。今天就从常见的 Kafka 面试题入手&#xff0c;和大家聊聊 Kafka 的那些事儿。思维导图讲一讲分布式消息中间件问题…

第二类斯特林数入门

推荐博客 &#xff1a; https://www.cnblogs.com/gzy-cjoier/p/8426987.html 转载于:https://www.cnblogs.com/ccut-ry/p/9510200.html

jQuery性能优化

2019独角兽企业重金招聘Python工程师标准>>> jQuery性能优化 现在越来越多的人应用jQuery了&#xff0c;有些同学在享受爽快淋漓coding时就将性能问题忽略了, 比如我. jquery虽在诸多的js类库中性能表现还算优秀, 但毕竟不是在用原生的javascript开发, 性能问题还是…