Android :第一行安卓代码学习笔记之 全局获取 Context
Posted JMW1407
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android :第一行安卓代码学习笔记之 全局获取 Context相关的知识,希望对你有一定的参考价值。
全局获取 Context
全局获取 Context
android 开发中很多地方需要用到 Context,比如弹出 Toast、启动活动、发送广播、操作数据库……
由于很多操作都是在活动中进行的,而活动本身就是一个 Context 对象,所以获取 Context 并不是那么困难。
但是,当应用程序的架构逐渐开始复杂起来的时候,很多的逻辑代码都将脱离 Activity 类,由此在某些情况下,获取 Context 并非那么容易。
Android 提供了一个 Application 类,每当应用程序启动的时候,系统就会自动将这个类进行初始化。而我们可以定制一个自己的 Application 类,以便管理程序内一些全局的状态信息,比如说全局 Context。
解决办法:
创建一个MyApplication类继承Applicationle类
public class MyApplication extends Application
private static Context context;
@Override
public void onCreate()
super.onCreate();
context =getApplicationContext();
public static Context getContext()
return context;
这里我们重写了父类的 onCreate( )方法,并通过调用 getApplicationContext( )方法得到了一个应用程序级别的 Context,然后又提供了一个静态的 getContext( )方法,在这里将刚才获取到的 Context 进行返回。
接下来需要告知系统,当程序启动的时候应该初始化 MyApplication 类,在 AndroidManifest 文件的标签下进行指定就可以了。
<application
android:name=".MyApplication"
这样就已经实现了一种全局获取 Context 的机制,之后不管你想在项目的任何地方使用 Context,只需要调用一下 MyApplication.getContext( )就可以了。
Toast.makeText(MyApplication.getContext(),"全局Context获取成功",Toast.LENGTH_SHORT).show();
参考
1、如何在Adapter中优雅的使用Context
2、Carson带你学Android:如何理解 Context对于Activity的意义?
以上是关于Android :第一行安卓代码学习笔记之 全局获取 Context的主要内容,如果未能解决你的问题,请参考以下文章
Android :安卓第一行代码学习笔记之 material design简单理解和使用
Android :安卓第一行代码学习笔记之 解析LifeCycle 的简单理解和使用