安卓下Application和Activity的Context获取

情形一:Activity中

通过getApplication()获得Application,其本身也是一个的Context,也可以通过getApplicationContext()获得Application的Context,结果一样。

而this表示当前的Activity对象,其本身也是一个的Context。

注意:这两个Context是不一样的,它们的hash code不同。

情形二:Fragment中

通过getActivity()和getContext()得到的是一样的,都是Activity的Context。

情形三:View中

通过getContext()得到的是Activity的Context。


补充:要在Fragement或View中获得Application的Context,先参考"情形二"和"情形三"得到Activity或Activity的Context,再参考"情形一"得到Application的Context。

通过对象的toString方法就能得到对象的描述,形如"com.example.demo.MainActivity@176af1e",这可以用来识别是否为同一对象。

相关推荐
7***318812 分钟前
若依微服务中配置 MySQL + DM 多数据源
android·mysql·微服务
我是好小孩17 分钟前
【Android】常见的架构模式:MVC, MCP, MVVM
android·架构·mvc
Digitally21 分钟前
如何通过蓝牙将联系人从 iPhone 传输到 Android
android·ios·iphone
embrace992 小时前
【C语言学习】结构体详解
android·c语言·开发语言·数据结构·学习·算法·青少年编程
用户69371750013842 小时前
11.Kotlin 类:继承控制的关键 ——final 与 open 修饰符
android·后端·kotlin
用户0273851840262 小时前
【Android】LiveData的使用以及源码浅析
android·程序员
用户69371750013842 小时前
10.Kotlin 类:延迟初始化:lateinit 与 by lazy 的对决
android·后端·kotlin
正经教主3 小时前
【Git】Git06:Git 管理 Android 项目教程(含GitHub)
android·git
安卓理事人3 小时前
安卓多种通知ui更新的方式(livedata,rxjava,eventbus等)
android·ui·echarts
BS_Li3 小时前
【Linux系统编程】Ext系列文件系统
android·linux·ext系列文件系统