当前位置: 首页 > 编程笔记 >

Android全局获取Context实例详解

乌和畅
2023-03-14
本文向大家介绍Android全局获取Context实例详解,包括了Android全局获取Context实例详解的使用技巧和注意事项,需要的朋友参考一下

Android全局获取Context实例详解

在弹出Toast 启动活动 发送广播 操作数据库 使用通知等等时都需要Context

如果操作在活动中进行是很简单的,因为活动本身就是一个Context对象

但是当逻辑代码脱离了Activity类,此时使用Context就需要一些技巧了:

我们可以定制一个自己的Application类,以便管理程序内一些全局状态信息,比如全局Context

代码如下:

public class MyApplication extends Application{
  
  private static Context context;

  @Override
  public void onCreate() {
    context = getApplicationContext();
  }
  public static Context getContext(){
    return context;
  }
}

重写父类onCreate()方法,并通过调用getApplicationContext()方法得到应用程序级别的Context

然后提供静态的getContext()方法,将取到的Context进行返回

注意:记得在AndroidManifest.xml文件的<application>标签下进行初始化MyApplication类

<application
...
  android:name="com. ... .MyApplication"  <——这里最好填上完整包名
...
</application>

这样就实现了全局获取Context的机制,在应用程序里任何地方使用Context只需调用 MyApplication.getContext()就可以了

如:

Toast.makeText(MyApplication.getContext(),"全局Context",Toast.LENGTH_SHORT).show();

如果还用到其他的Application,则可以在MyApplication中的OnCreate()方法中调用其他Application的初始化方法即可

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 本文向大家介绍Android编程中context及全局变量实例详解,包括了Android编程中context及全局变量实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程中context及全局变量的用法。分享给大家供大家参考,具体如下: 今天在研究context的时候,对application和activity context有了一定的了解,下面是从网上复制过来的资料

  • 本文向大家介绍Android编程获取全局Context的方法,包括了Android编程获取全局Context的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程获取全局Context的方法。分享给大家供大家参考,具体如下: 有时,在处理业务逻辑的时候,需要Context对象,但在某些情况下,并非容易获取,这时就需要一些巧妙的手段来管理Context。 在Android中

  • 本文向大家介绍Android编程实现全局获取Context及使用Intent传递对象的方法详解,包括了Android编程实现全局获取Context及使用Intent传递对象的方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程实现全局获取Context及使用Intent传递对象的方法。分享给大家供大家参考,具体如下: 一、全局获取 Context Android 开发

  • 本文向大家介绍安卓Android Context类实例详解,包括了安卓Android Context类实例详解的使用技巧和注意事项,需要的朋友参考一下 1.例如下面的代码片段,Toast类的第一个参数接受一个Context对象: 然而,Toast类并没有直接用在Activity中,它被用在了AlertDialog类中。所以,这里需要通过getBaseContext()方法获取一个Context类的

  • Activity mActivity =new Activity() 作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明。Android程序不像Java程序一样,随便创建一个类,写个main()方法就能运行,Android应用模型是基

  • 本文向大家介绍Django之全局使用request.user.username的实例详解,包括了Django之全局使用request.user.username的实例详解的使用技巧和注意事项,需要的朋友参考一下 我就废话不多说了,大家还是直接看代码吧! 补充知识:Django 中 request.user 调用用户名时出现 AnonymousUser(匿名对象)的错误 说明 已经添加了额外的属性,