[Android学习]Activity之间传递对象和对象集合
2014-04-15 14:41
357 查看
开发过程中,Activity之间传递数据是必不可少的,android中使用Intent和Bundle作为数据载体,在Activity之间传递,对于基础数据类型,Bundle已经提供相关的put,get方法,而作为自定义的类型则需要有特别的要求.
自定义类型,想要使用Bundle传递时,需要满足特定条件。即该类型需要实现Serializable接口或者Parcelable接口
(注意:如果目标对象中包含其他对象,则被包含的对象也需要实现Serializable接口或者Parcelable接口)
(关于Serializable接口和Parcelable接口就不在此做记录了)
步骤:
1.定义类,实现相关接口
2.使用Intent和Bundle对应的方法set数据
3.startActivity传递Intent对象
使用Serializable
一.传递对象
a).定义类,实现Serializable接口
获取参数
注意:
使用以上方法传递对象时,都是创建了新的实例,而非传递对象的引用,如果是传递引用,也就无需序列化了。
完整例子:
http://pan.baidu.com/s/1dDf5p8d
自定义类型,想要使用Bundle传递时,需要满足特定条件。即该类型需要实现Serializable接口或者Parcelable接口
(注意:如果目标对象中包含其他对象,则被包含的对象也需要实现Serializable接口或者Parcelable接口)
(关于Serializable接口和Parcelable接口就不在此做记录了)
步骤:
1.定义类,实现相关接口
2.使用Intent和Bundle对应的方法set数据
3.startActivity传递Intent对象
使用Serializable
一.传递对象
a).定义类,实现Serializable接口
Bundle bundle = this.getIntent().getExtras(); List<Person> persons = bundle.getParcelableArrayList(MainActivity.PersonsKey); if(persons!=null) textView.setText("name:" + persons.get(1).getName() + "age:" + persons.get(1).getAge() + "id:" + persons.get(1).getId());
获取参数
注意:
使用以上方法传递对象时,都是创建了新的实例,而非传递对象的引用,如果是传递引用,也就无需序列化了。
完整例子:
http://pan.baidu.com/s/1dDf5p8d
相关文章推荐
- Android Activity之间实现数据(对象,对象集合)传递
- android中传递复杂参数,activity之间和fragment之间的bundle传递集合/对象
- android中传递复杂参数,activity之间和fragment之间的bundle传递集合/对象
- android中传递复杂参数,activity之间和fragment之间的bundle传递集合/对象
- Android学习札记11:利用Parcelable在Activity之间传递对象参数的官方解释和示例
- Android Intent 在Activity 之间传递对象
- Android入门篇四:使用剪切板在Activity之间传递对象数据
- Android之Activity之间传递对象
- 【Android开发那点破事】Android2个Activity之间传递对象
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
- Android上在两个Activity之间传递Bitmap对象
- Android学习备忘010——使用静态变量在Activity之间传递数据
- android activity之间传递对象(Serializable 和 Parcelable)
- Android 学习之路一:Activity之间传递数据的四种方式
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable] .
- Android中Intent在Activity之间传递对象[Serializable或Parcelable]
- Android学习【2】Activity之间通过Application进行数据传递
- activity和activity之间传递数据(字符串、集合、对象)
- 2014-10-25Android学习--------activity之间批量传递数据----Bundle类的实现
- Android学习--Activity之间传递数组的方法