Intent传递对象
来源:互联网 发布:乐高未来骑士团淘宝 编辑:程序博客网 时间:2024/05/07 09:26
Intent的用法大家比较熟悉了,可以借助它来启动活动,发送广播,启动服务等。在进行上述操作的时候,还可以在Intent中添加一些附加数据, 以达到传值的效果,比如在FirstActivity中添加如下代码
Intent intent=new Intent(HLActivity.this,SecondActivity.class);
intent.putExtra("string_data","hello");
intent.putExtra("int_data",100);
startActivity(intent);
这里调用了Intent的putExtra()方法来添加要传递的数据,之后在SecondActivity中就可以得到这些值了,代码如下:
getIntent().getStringExtra("string_data");
getIntent().getIntExtra("int_data",0);
但是putExtra()方法中所支持的数据类型是有限的,虽然常用的一些数据类型它都支持,但是当你想去传递一些自定义对象的时候不方便。
使用Intent传递对象通常有两种实现方式,Serializable和Parcelable
Serializable是序列化的意思,表示将一个对象转换成可存储或可传输的状态。序列化后的对象可以在网络上进行传输,也可以存储到本地。序列化方法很简单,只需让一个类去实现Serializable这个接口就可以了。比如一个Person类,其中包含了name和age这两个字段,想要将其序列化就可以这样写。
public class Person implements Serializable
{
private String name;
private int age;
setters getters; //set和get方法
}
FirstActivity:
Person person=new Person();
person.setName("Tom");
person.setAge(20);
Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
intent.putExtra("person_data",person);
startActivity(intent);
SecondActivity:
Person person=(Person)getIntent().getSerializableExtra("person_data");
- Intent传递对象?
- Intent传递对象?
- Intent 传递复杂对象
- Android Intent传递对象
- Android Intent 传递对象
- intent 传递对象
- Intent传递对象Parcel
- Intent 传递对象
- Intent如何传递对象
- Intent如何传递对象
- Android Intent传递对象
- Intent 传递对象
- Intent 传递类对象
- 通过intent传递对象
- Intent传递对象
- intent 传递自定义对象
- intent传递类对象
- Intent传递对象
- 高性能 TCP & UDP 通信框架 HP-Socket v3.3.1 RC2 发布
- (札记)EasyUI 增删改查基本实现
- Weblogic 数据源及连接池配置问题Warning! Connectivity to backend database not verified
- OJ刷题之《求方程的根》
- 知识积累记录帖
- Intent传递对象
- 喜欢把好吃的留最后,这种心理正常吗?
- 多态和虚函数
- Overlapped I/O 在你的身后变戏法
- 创建GObject子类的基本步骤
- C#输入字符限制
- 手动编译运行java文件
- html5 移动收集
- 【无浪】用Socket类实现网络传输文件软件