美文网首页
android传值

android传值

作者: 姚进zz | 来源:发表于2019-04-22 16:18 被阅读0次

一、使用Intent的两种方法:

1、通过intent.putExtra

发送:

Intent intent = new Intent(MainActivity.this,OtherActivity.class);

intent.putExtra("name", "Nicole");

intent.putExtra("age", 25);

intent.putExtra("address", "Shenzhen");

接收:

Intent intent = getIntent();

String nameString = intent.getStringExtra("name");

int age = intent.getIntExtra("age",0);

String addressString = intent.getStringExtra("address");

2、通过bundle

发送:

Intent intent = new Intent(MainActivity.this,OtherActivity.class);

Bundle bundle = new Bundle();

bundle.putString("name", "Ben");

bundle.putInt("age", 28);

bundle.putString("address", "China");

intent.putExtras(bundle); 

接收:

Intent intent = getIntent();

Bundle bundle = intent.getExtras();

String nameString = bundle.getString("name");

int age = bundle.getInt("age");

String addressString = bundle.getString("address");

二、通过隐式调用,url总包含的参数获取方式。(Mainifest进行注册)

发送:

Intent intent =new Intent(Intent.ACTION_VIEW, Uri.parse(mSchema));

getContext().startActivity(intent);

获取:

Intent i = getIntent();

Uri uri = i.getData();

if (uri !=null) {

String val = uri.getQueryParameter(name);

if (!TextUtils.isEmpty(val)) {

return Integer.parseInt(val);

}

}

问题:Intent在传递数据时是有大小限制的,这里官方并未详细说明,不过通过实验的方法可以测出数据应该被限制在1MB之内(1024KB)。

相关文章

网友评论

      本文标题:android传值

      本文链接:https://www.haomeiwen.com/subject/cyqugqtx.html