关于在Android设置全局变量随时获取context

最实在的办法就是继承Application,在里面设置全局变量,因为Application是android的应用入口,并且运行周期贯穿整个程序运行。

import android.app.Application;

public class MyApplication extends Application{
    private static Context mContext;

    public static Context getContext (){
        return this.mContext;
    }
    public void setContext (Context mContext){
        this.mContext= c;
    }
    @Override
    public static void onCreate(){
        mContext=this;
        super.onCreate();
    }
}

同时要在AndroidManifest.xml里面的application属性添加android:name=".MyApplication",指明自己定义的application

<application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Translucent" >

然后在整个程序中,需要context的时候就可以直接调用MyApplication.getContext()进行获取,其他的全局变量也类似。

时间: 2024-10-07 11:57:29

关于在Android设置全局变量随时获取context的相关文章

android#全局获取Context的技巧

参考<第一行代码>——郭霖 回想这么久以来我们所学的内容,你会发现有很多地方都需要用到Context,弹出Toast的时候需要.启动活动的时候需要.发送广播的时候需要.操作数据库的时候需要.使用通知的时候需要等等等等.或许目前你还没有为得不到Context而发愁过,因为我们很多的操作都是在活动中进行的,而活动本身就是一个Context对象.但是,当应用程序的架构逐渐开始复杂起来的时候,很多的逻辑代码都将脱离Activity类,但此时你又恰恰需要使用Context,也许这个时候你就会感到有些伤脑

Android 全局获取 Context 与使用 Intent 传递对象

=====================全局获取 Context======================== Android 开发中很多地方需要用到 Context,比如弹出 Toast.启动活动.发送广播.操作数据库…… 由于很多操作都是在活动中进行的,而活动本身就是一个 Context 对象,所以获取 Context 并不是那么困难. 但是,当应用程序的架构逐渐开始复杂起来的时候,很多的逻辑代码都将脱离 Activity 类,由此在某些情况下,获取 Context 并非那么容易. An

android使用全局变量传递数据

android中Application是用来保存全局变量的,在package创建的时候就存在了,到所有的activity都被destroy掉之后才会被释放掉.所以当我们需要全局变量的时候只要在application中去实现,通过调用Context的getApplicationContext或者Activity的getApplication方法来获得一个Application对象,就可以设置或读取全局变量的值. 启动Application时,系统会创建一个PID,即进程ID,所有的Activity

全局获取Context

在很多地方都需要用到Context,但在特殊情况下无法获取Context, 需要定义自己的Application,既可以利用我们自己的类来获取Context public class MyApplication exends Application{ private static Content content;重写父类的onCreate方法,并调用getApplicationContext()方法得到一个应用程序级别的Context然后静态方法将其返回 public void onCreate

android SDK manager 无法获取更新版本列表【转载】

http://mirrors.neusoft.edu.cn/eclipse/releases/luna/打开这个网址就可以看到adt的详细信息:  http://developer.android.com/sdk/installing/installing-adt.html 或者直接在你的eclipse的Help > Install New Software里面add,地址直接输入 https://dl-ssl.google.com/android/eclipse/https://dl-ssl.

[转] Android SDK manager 无法获取更新版本列表

打开这个网址(LINK)就可以看到adt的详细信息. 或者直接在你的eclipse的Help > Install New Software里面add,地址直接输入 https://dl-ssl.google.com/android/eclipse/ https://dl-ssl.google.com/android/eclipse/ 到Android SDK官网下载ADT离线升级包 http://developer.android.com/sdk/installing/installing-ad

Android授权登录新浪微博获取用户个人信息

转载请注明出处:http://blog.csdn.net/u010214991/article/details/49149793 记得第一次发博文的时候我写了一篇文章,题为" Android使用官方API分享内容到QQ和微信(非第三方集成)",里面介绍了如何使用各官方提供的SDK来实现分享功能.那么今天我们来讲讲如何通过新浪微博授权登录获取用户信息,大家都知道,现在很多软件除了本地注册登录之外,还增加了第三方登录功能,最常见的是直接授权QQ等软件来登录应用而无需自行注册,其原理更多的是

转:Android 设置屏幕不待机

本文转载于:http://blog.csdn.net/yudajun/article/details/7748760 Android设置支部待机有两种方法 第一种简单通过设置WindowManager属性实现: 在Activity oncreat()方法中设置 getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 第

android实现任意文件访问Context

在android编程中,大家应该常常会遇到这样的一个问题.android都是需要通过Context来获取res下面的资源,但是我们不可能将所有的代码都写在Activity中,我们通过一些类专门负责对不同资源的处理,也就是说我们可能会遇到在其它文件中通过Context来获取或改变程序状态,我们应该如何在Activity或者继承Activity以外的java文件中获取安卓程序的Context呢? 我们可以定义一个用单例模式定义一个继承Application的类ContextUtils package