aolication全局传递参数

本文介绍了一种在安卓应用中实现全局数据传递的方法。通过创建一个继承自Application类的单例,并利用HashMap存储数据,可以在不同Activity间共享数据。文章详细展示了如何在MainActivity中存放数据并在TwoActivity中获取及删除。

首先要有一个类来继承application类,并且重写oncreate方法,这个方法就是安卓程序的入口。

为了让所有的类都能使用里面的参数要把这个类单例化。

为了能存储大量的数据我们可以定义一个hashmap集合,并且给这个map集合get方法。

private static OneApplication oa;
private HashMap<String,Object> map = new HashMap<String, Object>();
public static OneApplication getOa()
{
return oa;
}
public void onCreate()
{
super.onCreate();
this.oa = this;
}


在第一个activity中存值,
Intent intent = new Intent(MainActivity.this,TwoActivity.class);
OneApplication one = OneApplication.getOa();
one.getMap().put("哈哈", "haha");
one.getMap().put("王八蛋", "wangba");

startActivity(intent);


在第二个activity中取值,和以前一样要在销毁的方法里把他们移除,方便垃圾回收!
OneApplication one = OneApplication.getOa();
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
Log.d("TwoActivity", (String)one.getMap().get("哈哈"));
Log.d("TwoActivity", (String) one.getMap().get("王八蛋"));

}
protected void onDestroy()
{
super.onDestroy();
one.getMap().remove("哈哈");
one.getMap().remove("王八蛋");

}

转载于:https://www.cnblogs.com/84126858jmz/p/4869632.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值