全局获取Context的技巧
以下为up主阅读郭大神《第一行代码》后整理的笔记:
我们都知道活动本身就是一个Context对象,但是,当应用程序构架复杂起来的时候,很多的逻辑代码都会脱离Activity类,
而很多时候我们在这些逻辑类中又要使用到上下文对象Context,这时,我们只要通过下面的技巧就可以解决该问题,在
项目的任何地方都能获取到Context了。
1.定制自己的Application类
Android提供了一个Application类,每当程序启动的时候,系统就会自动将这个类进行初始化。我们可以通过继承Application
类去定制一个自己的Application类,以方便管理程序内如全局Context等全局状态信息
public class MyApplication extends Application {private static Context context;@Overridepublic void onCreate() {// TODO Auto-generated method stubsuper.onCreate();context=getApplicationContext();}public static Context getContext() {return context;}
}
重写了父类的onCreate()方法,并通过调用getApplicationContext()方法得到了一个应用程序级别的Context,然后又提供了一个静态的getContext()方法,在这里将刚才获取到的Context返回。
在AndroidMainifest文件中的<application>标签下进行指定
2.在AndroidManifest.xml中指定启动的时候初始化MyApplication类,而不是默认的Applicationl类
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.administrator.hellowworld" > <application android:name="com.crazyfzw.example.MyApplication" ...> .... </application>
</manifest>
注意:指定MyApplication的时候一定要加上完整的包名。
3.接下来就可以在不能直接获取到Context的地方通过使用以下一行代码就可轻松获取到Context了。
MyApplication.getContext()
全局获取Context的技巧相关推荐
- Android开发实用技巧之一:全局获取Context的技巧
以下为up主阅读郭大神<第一行代码>后整理的笔记: 我们都知道活动本身就是一个Context对象,但是,当应用程序构架复杂起来的时候,很多的逻辑代码都会脱离Activity类, 而很多时候 ...
- 一种 Android 应用内全局获取 Context 实例的装置
哥白尼 · 罗斯福 · 马丁路德 · 李开复 · 嫁衣曾经说过 Where there is an Android App, there is an Application context. 没毛病, ...
- android 获取全局context,说说 Android 中如何在全局获取 Context
Android 提供了一个 Application 类,每当应用启动时,系统就会初始化该类.我们可以定制一个基础的 Application 类,以便管理应用内的一些全局信息. 定义 BaseAppli ...
- android获取context的方法,Android编程获取全局Context的方法
Android编程获取全局Context的方法 本文实例讲述了Android编程获取全局Context的方法.分享给大家供大家参考,具体如下: 有时,在处理业务逻辑的时候,需要Context对象,但在 ...
- 通过ActivityThread获取Context
背景 为了保存一个全局可用的ApplicationContext对象,通过反射ActivityThread.currentActivityThread()来实现.近期在分析线上错误日志时,偶有发现这里 ...
- ViewModel优雅的弹加载窗和获取Context
前言 目前安卓开发一般都是用的mvvm模式,Jetpack的ViewModel是必不可少的一部分,而vm的生命周期要比Activity和Fragment长的,所以其一般不推荐其直接持有A或F,因为可能 ...
- Android中怎样在工具类中获取Context对象
场景 Android程序中访问资源时需要提供Context,一般来说只有在各种component中(Activity, Provider等等)才能方便的使用api来获取Context对象, 如果在编写 ...
- [react] 除了实例的属性可以获取Context外哪些地方还能直接获取Context呢?
[react] 除了实例的属性可以获取Context外哪些地方还能直接获取Context呢? Context = React.createContext <Context.Provider va ...
- 获取context path或者basePath
转自:http://hexudonghot.blog.163.com/blog/static/532043422012112264411234/ 在jsp中获取context path或者basePa ...
最新文章
- 设计模式:单例模式之静态内部类
- 14行代码AC_Break the Chocolate HDU-4112(数学推导+解析)
- 长隆大马戏机器人_惊艳亮相广州长隆,智伴儿童机器人1X成行业焦点
- JS实现css属性动画效果
- qmediaplayer获取流类型_Java 流API
- python举两种字符串引号的例子_python里的单引号和双引号的有什么作用
- c语言不能在函数中求数组大小,C语言中数组长度不能用变量定义吗?
- Go1.18 新特性:多 Module 工作区模式
- .NET Core 3.0 Preview 7 已经发布
- Ajax的load方法
- PayPal支付开发
- 纽约亮马河邮轮 - 从水上欣赏纽约迷人景色
- 云计算未来 — 云原生
- sql-lab 通关Less1 -65(深入学习)
- nginx - nginx的安装部署
- matlab不是内部或外部命令_如何解决Telnet不是内部或外部命令(电脑提示telnet不是内部或外部命令...
- PHP 导出到Excel表格中
- MySQL 数据(字段)类型
- flask-migrate(flask_script与flask2.0不再兼容)
- 【Python爬虫】爬取2022软科全国大学排行榜