android 全局变量存储,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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值