码迷,mamicode.com
首页 > 移动开发 > 详细

Android 中保存全局变量

时间:2015-06-28 23:06:59      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:android   全局变量   application   单例   

作者:silence鼬、2015年6月28日
在学习Android的时候一直未context的问题觉得头疼,因为想做一些工具类,但是又不是四大组件,总要来回传递context,觉得很麻烦,就想全局获取,最后看到application是全局单例的,所以改造一下。

 1. 首先需要重写Application,主要重写里面的onCreate方法,就是创建的时候,初始化一个Map,这样就可以插入任意值。然后在整个应用中的各个文件中就可以对该变量进行操作了。
2. 在程序中有两种获得方式getInstance() 和 在四大组件中通过 getApplication() 分别获得app
package com.xin.app;

import java.util.HashMap;
import java.util.Map;

import android.app.Application;
import android.util.Log;
/**
 * 
 * @author silence鼬
 * @url http://write.blog.csdn.net/mdeditor#!postId=46674445
 * @tip 欢迎转载
 *
 */
public class App extends Application {

    private static App instance;
    private Map innerMap = new HashMap();

    @Override
    public void onCreate() {
        super.onCreate();
        instance = this;//注意这里,不是常用的单例方式
    }

    public static App getInstance(){
        Log.v("app", "getInstance instance "+instance.toString());
        return instance;
    }
    public void addParam(Object key,Object value){
        innerMap.put(key, value);
    }
    public Object getParam(Object key){
        return innerMap.get(key);
    }
}

上面代码添加了一个内部Map,和对应的访问方法,全局使用getApplication() 和App.getInstance()都可使用。

Android 中保存全局变量

标签:android   全局变量   application   单例   

原文地址:http://blog.csdn.net/perfect2011/article/details/46674445

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!