Android 中保存全局变量

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

首先需要重写Application,主要重写里面的onCreate方法,就是创建的时候,初始化一个Map,这样就可以插入任意值。然后在整个应用中的各个文件中就可以对该变量进行操作了。

在程序中有两种获得方式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);

    }

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

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

————————————————

版权声明:本文为CSDN博主「香菜聊游戏」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/perfect2011/article/details/46674445

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容