android传递activity对象
⑴ android activity之间怎么传对象数据
StartActivity的时候将数据携带到Intent的bundle里,如果要携带自定义的对象,你自定义的对象要实现Serializable接口,就是在类里加一个implement Serializable。
然后
Intent intent = new Intent(this, Activity2);
Bundle bundle = new Bundle();
bundle.putSerializable("参数名", 自定义对象);
intent.putExtras(bundle);
startActivity(intent);
就可以把参数带过去了,
取的时候用
getIntent().getSerializableExtra("参数名")
就可以取到你传过来的对象了
强转一下类型就能用了
⑵ 如何在Android开发中activity之间数据传递
方法/步骤
创建Intent对象,并配置参数,有那个activity跳转到哪个activity
⑶ android 两个activity之间怎样传递数据
1创建Intent对象,并配置参数,有那个activity跳转到哪个activity
2在intent对象中进行存放数据,数据的格式是key-value形式
3启动跳转
4进入下一个到跳转的activity中,并取得intent对象
5通过intent对象取得bundle对象,数据就在bundle对象中,然后通过key-value形式取得数据⑷ android的activity之间可以传递对象或者集合吗
可以,传递的对象要实现序列化接口
implements java.io.Serializable或者实现android.os.Parcelable接口
存值
intent.putExtra("name", value);
取值,然后强制类型转换即可
intent.getSerializableExtra("name");
请采纳哈
这里有篇文章也写挺详细的:
http://www.cnblogs.com/shaocm/archive/2013/01/08/2851248.html⑸ 如何在Android开发中activity之间数据传递
用intent在activity之间传递数据,需要注意三个方法:
1.startActivityForResult(Intent intent, int requestCode)
2.setResult(int resultCode, Intent data)
3.onActivityResult(int requestCode, int resultCode, Intent data)
需要注意的是:
1.函数1在Activity_A里面调用,然后启动Activity_B(由intent参数决定启动哪个activity);然后Activity_B执行完了之后,在finish()函数里面调用函数2;此时返回Activity_A;最后在Activity_A里面系统自动调用已经重载的函数3,Activity_A可以从该函数的第三个参数data里面获得想要的数据。
2.函数1有两个参数,第二个参数确定请求码;
3.函数3有三个参数:第一个参数请求码,与函数1的第二个参数意义相同,用于确定是否是从Activity_B里获得的返回值;第二个参数是结果码,用于确定返回的结果是否可用;第三个参数是intent变量,用于传递数据。⑹ android两个activity之间传值
Activity之间是没有办法直接传递数据的。Android的设计原则是,用Intent在不同的Activity和进程之间进行通信,但是通常来讲,Intent中只能存入基本数据类型和系统默认支持的比如Uri之类的。那么对于用户自己定义的数据结构是无法直接用Intent来传送的,如果想要通过Intent来传递自定义数据,可以让数据结构实现Parcelable接口,这样就可以把数据放入Intent。但是Intent的传送效率也不是很高,特别是当传递一些如Bitmap的大数据,用Intent传递超过500K的Bitmap,就会造成Framework层的Java Binder挂掉,结果就是传递不成功。
这点可以算成是Android的一个弊端,没有很好的解决方案。能做到的就是尽量设计的时候注意,尽量让Activity之间共享基本数据类型。
Android本身的应用中也深受其害,可以看到有很多应用程序的源代码中的主要的类在三千行以上的不在少数,比如Browser中的BrowserActivity有四千多行;Mms中的ComposeMessageActivity也有四千多行,等等。为什么一个类会如此之大,就是因为它们是程序的主页面,是业务的核心逻辑所在,里面也控制着很多的其他的数据结构,而又无法与另外的Activity共享,所以就只能在一个Activity里面做所的事情。⑺ android activity跳转怎么传对象
Android之Activity的几种跳转方式 1.显示调用方法 Intent intent=new Intent(this,OtherActivity.class); //方法1 Intent intent2=new Intent(); intent2.setClass(this, OtherActivity.class);//方法2 intent2.setClassName(this, "com.zy.MutiActivity.OtherActivity"); //方法3 此方式可用于打开其它的应用 intent2.setComponent(new ComponentName(this, OtherActivity.class)); //方法4 startActivity(intent2); 然后调用finish():结束当前Activity 2.隐式调用方法(只要action、category、data和要跳转到的Activity在AndroidManifest.xml中设置的匹配就OK 3.跳转到另一个Activity后,当返回时能返回数据 在跳转的Activity端,调用startActivityForResult(intent2, 1),跳转到下一个Activity,其中第一个参数为传入的意图对象,第二个为设置的请求码; 跳转到第二个Activity后,调用setResult(100, intent)方法可返回上一个Activity,其中第一个参数为结果码,第二个为传入的意图对象; 在第一个Activity通过onActivityResult()方法获得返回的数据。
⑻ 如何在Android开发中activity之间数据传递
android各组件之间可以使用Intent来传递数据, 这里以ActivityA向ActivityB传递数据为例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Intent intent = new Intent(context, ActivityB.class);
//如果context上下文不是Activity的话, 需要添加下面这个flag,
if (!(context instanceof Activity)) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
//添加要传递的数据
//这里的key到时候ActivityB会用来得到value
//android要求可以传递的数据类型包括基本数据类型,
//基本数据类型的数组,CharSequence,以及实现了Parcelable的对象
//putExtra是重载方法, 根据value的类型会适当的打包进intent的Bundle对象里
intent.putExtra(key, value);
//或则将数据打包进Bundle data里, 然后intent.putExtras(data);
context.startActivity(intent);
在ActivityB中
1
2
3
4
5
6
public void onCreate(Bundle savedInstanceState) {
//得到传递过来的数据
Bundle bundle = getIntent().getExtras();
//通过getXXX方法来获取key对应的value
bundle.getXXX(key);
}