Android 数据传递的几种方式

今天无意间想起来,总结一下Android传递数据的方式,(个人认为)一般分为四种:Intent传值、静态变量、剪切板、全局对象等。

1.Intent传值:

通过Intent.putExtra方法来设置要传递的数据,通过get方法来获得要得到的数据

Intent intent = new Intent();
intent.putExtra("extra", "这是通过Intent传值");
intent.setClass(FirstActivity.this, SecondActivity.class);
startActivity(intent);

2.静态变量传值:

将类成员定义成public static,直接可以用来传递数据(个人不推荐)

public static String FROM_FIRST_ACTIVITY = "这是通过静态变量传值";

intent = new Intent();
intent.putExtra("extra", FROM_FIRST_ACTIVITY);
intent.setClass(FirstActivity.this, SecondActivity.class);
startActivity(intent);

3.剪切板传值:

利用Android系统提供的剪切板存取数据,代码如下:

intent = new Intent();
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText("这是通过剪切板传值");
intent.setClass(FirstActivity.this, SecondActivity.class);
startActivity(intent);

4.全局对象传值:

利用Appliction,自定义一个继承自android.app.Application的类,并在其中定义任何类型的变量和方法。

(1)首先新建一个继承自android.app.Application的类:

public class MyApp extends Application {
	private String skipString;

	public String getSkipString() {
		return skipString;
	}

	public void setSkipString(String skipString) {
		this.skipString = skipString;
	}

	@Override
	public void onCreate() {
		super.onCreate();
	}
}
(2)在Activity跳转时:

private MyApp myApp;
myApp = (MyApp) this.getApplication();

intent = new Intent();
myApp.setSkipString("通过Appliction传值");
intent.setClass(FirstActivity.this, SecondActivity.class);
startActivity(intent);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值