一.Intent传递数据:
方法1:
传递:通过intent.putExtra(Key,value)放入数据
接收:通过intent.getExtras取出Bundle,然后用Bandles.getLong,getInt.getBoolean,getString等函数来取出数据
方法2:
通过data传递,而data传输的是URL,URL可以是我们熟悉的http,ftp等网络地址,也可以是content来指向ContentProver提供的资源。
传递:通过intent.setData(url)放入url
接收:通过intent.getData取出url
二.Intent传递类对象:
方法1:Bundle.putSerializable(Key,Object);//实现Serializable接口
方法2:Bundle.putParcelable(Key,Object);//实现Parcelable接口
注:如果传递的是List<Object>,将list强转成Serializable类型,Object也必须实现Serializable接口
具体实现步骤:
(1)创建一个序列化类:User
import java.io.Serializable; public class User implements Serializable { private int ID; private String UserName; private String PWD; public final void setID(int value) { ID = value; } public final int getID() { return ID; } public final void setUserName(String value) { UserName = value; } public final String getUserName() { return UserName; } public final void setPWD(String value) { PWD = value; } public final String getPWD() { return PWD; } } (2)启动某个Activity进行传递: 传递端: User user = new User(); Intent intent = new Intent(this,OtherActivity.class); Bundle bundle = new Bundle(); bundle.putSerializable("user",user); intent.putExtras(bundle); startActivity(intent); 接收端: Intent intent = getIntent; user = intent.getSerializable("user"); 注:传递List<Object> 传递端: intent.putExtras(Key,(Serializable)list); 接收端: Intent intent = getIntent(); (List<Object>)intent.getSerializable(Key);