全局获取Context的技巧

全局获取Context的技巧

大家好,又见面了,我是全栈君。

全局获取Context的技巧

 

android开发中,非常多地方都要用到Context上下文这个类对象,比方:弹出 Toast

的时候须要、启动活动的时候须要、发送广播的时候须要、操作数据库的时候须要、使用通

知的时候须要等。

 

假设是在Activity中,那么获取这个context对象非常easy,由于Activity本身就继承Context。直接受用this就能够了。

 

可是对于比較复杂的逻辑,这些代码没有放在Activity中。那么。获取Context就显得不是那么easy了。

 

这里告诉大家一个技巧:

Android 提供了一个 Application 类。每当应用程序启动的时候,系统就会自己主动将这个类

进行初始化。

 而我们能够定制一个自己的 Application 类, 以便于管理程序内一些全局的状态信息,比方说全局 Context

1,新建一个类MyApplication继承Application.

代码例如以下:

package com.example.networktest;
public class MyApplication extends Application {
    private static Context context;
    @Override
    public void onCreate() {
        context = getApplicationContext();
    }
    public static Context getContext() {
        return context;
    }
}

2,在 AndroidManifest.xml 文件的<application>标签下进行指定就能够了,代码例如以下所看到的:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.networktest"
android:versionCode="1"
android:versionName="1.0" >
……
<application
android:name="com.example.networktest.MyApplication"
…… >
……
</application>
</manifest>

注意:指定 MyApplication 的时候一定要加上完整的包名,不然系统将无法找到这

个类。

 

这样我们就已经实现了一种全局获取 Context的机制,之后无论你想在项目的不论什么地方

使用 Context,仅仅须要调用一下 MyApplication.getContext()就能够了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116056.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Maven学习笔记(十二)-maven打包之resource配置

    Maven学习笔记(十二)-maven打包之resource配置一、简介构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件。●src/main/java和src/test/java这两个目录中的所有*.java文件会分别在comile和test-comiple阶段被编译,编译结果分别放到了target/classes和targe/test-classes目录中,但是这两个目录中的其他文件都

    2022年5月7日
    174
  • 判断IPV6地址格式是否正确

    判断IPV6地址格式是否正确1 判断 IPV6 格式字串是否正确此功能代码实现判断 IPV6 地址是否正确 正确返回 1 错误误返回 0 defineH x unsignedchar amp x 0 defineL x unsignedchar amp x 1 char abbr ipv6 字符串 unsignedchar ret buf

    2025年8月21日
    1
  • idea注释颜色修改_福昕阅读器注释颜色

    idea注释颜色修改_福昕阅读器注释颜色修改IDEA注释颜色

    2022年9月27日
    1
  • quartus II 过期怎么办?

    quartus II 过期怎么办?转自:http://computersren.com/blogs/blogsDetails.aspx?id=20140303205736&id2=new博客内容: quartusII过期怎么办?把电脑的日期改到过期之前的日期就可以啦。因为单位的电脑上装有瑞星杀毒软件,激活成功教程的工具不能用,所以从网上找到这个答案,在网上试一试,还真行,把日期调过了,quartusII就可以用

    2022年8月31日
    3
  • 如何在Chrome下使用Postman进行rest请求测试

    如何在Chrome下使用Postman进行rest请求测试

    2021年10月12日
    37
  • SCSA第四天总结「建议收藏」

    SCSA第四天总结「建议收藏」一、防共享技术:背景: 在企业的网络管理、在运营商代建的高校网络中出现了防共享上网的需求,即防代理、防一拖N的需求。 目前运营商以及企业需要面对共享上网主要带来的2个问题: 1、 在企业中,不少用户共享自己访问互联网的权限给其他用户,绕开了企业对用户设定的上网权限控制,使得原本没有上网权限的用户可以上网了,或者使得原本上网权限较低的用户拥有了较高的权限,给网络管理带来了诸多麻烦。 2、 在运营商承建和运维的高校网络中,遇到很多学生使用路由器或者其他软件方式,共享互联网的访问给其他同学或朋友,直

    2022年6月20日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号