全局获取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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java中关于守护线程_守护线程和主线程

    Java中关于守护线程_守护线程和主线程在Java中有两类线程:UserThread(用户线程)、DaemonThread(守护线程) 用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆:只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是

    2022年10月16日
  • matlab微分方程转化状态方程_matlab求微分方程的通解步骤

    matlab微分方程转化状态方程_matlab求微分方程的通解步骤[转]http://blog.sina.com.cn/s/blog_46e9b2010100tsqv.html用matlab时间也不短了,可是一直没有接触过微分方程。这次看看书,学习学习,记点儿笔记。

    2022年8月4日
  • 解决哈希冲突(四种方法)[通俗易懂]

    解决哈希冲突(四种方法)[通俗易懂]一、了解哈希表及哈希冲突哈希表:是一种实现关联数组抽象数据类型的数据结构,这种结构可以将关键码映射到给定值。简单来说哈希表(key-value)之间存在一个映射关系,是键值对的关系,一个键对应一个值。哈希冲突:当两个不同的数经过哈希函数计算后得到了同一个结果,即他们会被映射到哈希表的同一个位置时,即称为发生了哈希冲突。简单来说就是哈希函数算出来的地址被别的元素占用了。二、解决哈希冲突办法1、开放定址法:我们在遇到哈希冲突时,去寻找一个新的空闲的哈希地址。举例:就是当我们去教室上课..

    2022年6月17日
  • following的用法的解析_could not be registered

    following的用法的解析_could not be registered将Ubuntu的源修改为国内源:https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/88777483将Ubuntu的源修改为国内源的之后,执行sudoapt-getupdate出现问题:GPGerror:Thefollowingsignaturescouldn’tbeverifiedbecause…

    2022年10月13日
  • 桌面上图标都不见了怎么办听语音

    桌面上图标都不见了怎么办听语音

    2021年9月20日
  • sort函数,我用总是莫名其妙的错

    sort函数,我用总是莫名其妙的错

    2021年9月27日

发表回复

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

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