Android编程心得-使用Application类保存应用的全局数据

来源:互联网 发布:java多线程售票系统 编辑:程序博客网 时间:2024/06/08 17:04

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

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

[html] view plain copy
print?
  1.  <application  
  2.      android:name=“MeterApplication”  
  3.      android:allowBackup=“true”  
  4.      android:icon=“@drawable/ic_launcher”  
  5.      android:label=“@string/app_name”  
  6.      android:theme=“@style/AppTheme” >  
  7. </application>  
    <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);//存入

   

[java] view plain copy
print?
  1. public class MeterApplication extends Application {  
  2.   
  3.     private List<ReadyTask> DownloadList;  
  4.     private static MeterApplication instance;  
  5.   
  6.       
  7.     private HashMap<String, List<ReadyTask>> DownLoadResult;     
  8.     private List<String> UnitNumList;   
  9.     private String CurOPNUM;                                       
  10.       
  11.     private boolean BlueConStatus;  
  12.       
  13.     private int CurStauts;   // 当前运行状态  
  14.     @Override  
  15.     public void onCreate() {  
  16.         // TODO Auto-generated method stub  
  17.         instance = this;  
  18.         DownloadList = new ArrayList<ReadyTask>();  
  19.         super.onCreate();  
  20.     }  
  21.   
  22.   
  23.     public boolean isBlueConStatus() {  
  24.         return BlueConStatus;  
  25.     }  
  26.   
  27.   
  28.     public void setBlueConStatus(boolean blueConStatus) {  
  29.         BlueConStatus = blueConStatus;  
  30.     }  
  31.   
  32.   
  33.     public List<String> getUnitNumList() {  
  34.         return UnitNumList;  
  35.     }  
  36.   
  37.     public void setUnitNumList(List<String> unitNumList) {  
  38.         UnitNumList = unitNumList;  
  39.     }  
  40.   
  41.     public HashMap<String, List<ReadyTask>> getDownLoadResult() {  
  42.         return DownLoadResult;  
  43.     }  
  44.   
  45.     public void setDownLoadResult(HashMap<String, List<ReadyTask>> downLoadResult) {  
  46.         DownLoadResult = downLoadResult;  
  47.     }  
  48.   
  49.     public static MeterApplication getInstance() {  
  50.         return instance;  
  51.     }  
  52.   
  53.     public List<ReadyTask> getDownloadList() {   //下载List的值  
  54.         return DownloadList;  
  55.     }  
  56.   
  57.     public void setDownloadList(List<ReadyTask> downloadList) {  
  58.         DownloadList = downloadList;  
  59.     }  
  60.   
  61.     public int getCurStauts() {  
  62.         return CurStauts;  
  63.     }  
  64.   
  65.     public void setCurStauts(int curStauts) {  
  66.         CurStauts = curStauts;  
  67.     }  
  68.   
  69.     public String getCurOPNUM() {  
  70.         return CurOPNUM;  
  71.     }  
  72.   
  73.     public void setCurOPNUM(String curOPNUM) {  
  74.         CurOPNUM = curOPNUM;  
  75.     }   
  76.       
  77.       
  78. }  
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;    } }


0 0
原创粉丝点击