1.通过intent传递数据
Intent i =new Intent(MainActivity.this,TheOtherActivity.class);
i.putEXtra("data","Hello genius!");
startActivity(i);
private TextView tv;
Intent i =getIntent();
tv=(TextView)findViewById(R.id.tv);
tv.setText(i.getStringExtra("data"));
2.传递数据包Bundle
Intent i =new Intent(MainActivity.this,TheOtherActivity.class);
Bundle b =new Bundle();
b.putString("name","XGM");
b.putInt("age",20);
i.putExtras(b);
startActivity(i);
Intent i =getIntent();
Bundle data=i.getExtras();
tv.setText(String.format("name=%s,age=%d",data.getString("name"),data.getInt("age")));
3. 传递值对象
(1)通过实现Serializable接口 //java提供,操作简单,但速度较慢!
public class User implements Serializable{
private String name;
private int age;
public int getAge(){
return age;
}
public void setAge(int age){
this.age=age;
}
public int getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public User(String name,int age){
this.name=name;
this.age=age;
}
}
Intent i = new Intent(MainActivity.this,OtherActivity.class);
i.putExtra("user",new User("XGM",20));
startActivity(i);
User user = (User) i.getSerializableExtra("user");
tv.setText(String.format("name=%s,age=%d",user.getName(),user.getAge()));
(2)痛过实现Parcelable接口 //android平台提供,操作较为复杂,速度快!