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


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值