当前位置:操作系统 > 安卓/Android >>

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;  
    }   
      
      
}  

 

 
补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,