zoukankan      html  css  js  c++  java
  • Android 使用Application类保存应用的全局数据

    在实际应用我们经常需要对数据进行交互与保存,但Intent中默认的方法对传输数据是有类型限制的,当我们需要传输或保存一个复杂的泛型数据时,使用Application是一个很好的解决办法。

          顾名思义,Application对应整个应用,就如Activity对应当前的活动窗口一样,当我们需要使用它的时候,一定要在AndroidManifest.xml中对它进行声明。

        <application
            android:name="MeterApplication"
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
       </application>

    然后我们来到实体类,首先当其他类需要存取或调用的时候,首先调用本类的 getInstance()得到MeterApplication的对象,接下来就可以对不同类型的数据进行get,set操作了,这样形式的好处没有了 一般数据类型的限制,当我们需要跨一个或多个Activity保存或者读取复杂数据的时候,问题就迎刃而解了。

    调用方法:  MeterApplication.getInstance().getXXX();   //读取

                         MeterApplication.getInstance().setXXX(X xxx);//存入

    public class MeterApplication extends Application {
    
        private List<ReadyTask> DownloadList;
        private static MeterApplication instance;
    
        
        private HashMap<String, List<ReadyTask>> DownLoadResult;   
        private List<String> UnitNumList;    
        private String CurOPNUM;                                     
        
        private boolean BlueConStatus;
        
        private int CurStauts;   // 当前运行状态
        @Override
        public void onCreate() {
            // TODO Auto-generated method stub
            instance = this;
            DownloadList = new ArrayList<ReadyTask>();
            super.onCreate();
        }
    
    
        public boolean isBlueConStatus() {
            return BlueConStatus;
        }
    
    
        public void setBlueConStatus(boolean blueConStatus) {
            BlueConStatus = blueConStatus;
        }
    
    
        public List<String> getUnitNumList() {
            return UnitNumList;
        }
    
        public void setUnitNumList(List<String> unitNumList) {
            UnitNumList = unitNumList;
        }
    
        public HashMap<String, List<ReadyTask>> getDownLoadResult() {
            return DownLoadResult;
        }
    
        public void setDownLoadResult(HashMap<String, List<ReadyTask>> downLoadResult) {
            DownLoadResult = downLoadResult;
        }
    
        public static MeterApplication getInstance() {
            return instance;
        }
    
        public List<ReadyTask> getDownloadList() {   //下载List的值
            return DownloadList;
        }
    
        public void setDownloadList(List<ReadyTask> downloadList) {
            DownloadList = downloadList;
        }
    
        public int getCurStauts() {
            return CurStauts;
        }
    
        public void setCurStauts(int curStauts) {
            CurStauts = curStauts;
        }
    
        public String getCurOPNUM() {
            return CurOPNUM;
        }
    
        public void setCurOPNUM(String curOPNUM) {
            CurOPNUM = curOPNUM;
        } 
        
        
    }
  • 相关阅读:
    Openstack CloudKitty 计量计费命令行操作
    $out表单提交转成数组
    AddWhere
    正则
    全选反选
    showErr()
    模拟登陆
    MYSQL添加权限
    三元相位符
    打开ci 调试
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4241845.html
Copyright © 2011-2022 走看看