zoukankan      html  css  js  c++  java
  • Android 中保存全局变量

    作者: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()都可使用。

  • 相关阅读:
    stm32之watchdog
    stm32之PWM
    stm32之GPIO(二)
    JavaScript之怎样获取元素节点
    JavaScript之对象学习
    JavaScript之数组学习
    Jquery遍历数组之$.inArray()方法介绍
    Jquery 遍历数组之$().each方法与$.each()方法介绍
    C# 移位运算符
    tensorboard简单使用
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7250942.html
Copyright © 2011-2022 走看看