Android学习篇章25-Intentc传输数据Bundle-Parcelable-Serializable
来源:互联网 发布:mac linux双系统 编辑:程序博客网 时间:2024/05/22 07:02
MainActivity:
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void clickBtn(View view){Intent intent=new Intent(this,SecondActivity.class);//putExtra方法支持8种基本数据类型 String类型 以及对应的数组类型// intent.putExtra("name", "Tom");// intent.putExtra("age", 18);// intent.putExtra("score", 98.5);//Bundle是Intent用来保存数据的数据集//Bundle data=new Bundle();//data.putString("name", "tom");//data.putInt("age", 19);//intent.putExtras(data);//-----------------------传送对象类型------------------- //如果要实现普通的实体类对象的传递 这个对象要实现序列化或者Parcelable接口//Parcelable接口是Android中推荐的序列化方式,与Serializable//的差别在于 能够更好的实现跨进程访问Student stu=new Student();stu.setName("jack");stu.setAge(20);stu.setScore(89.5);Teacher t=new Teacher();t.setTeaName("wayne");t.setTeaAge(30);t.setCourse("Java");intent.putExtra("stu", stu);intent.putExtra("teacher", t);startActivity(intent);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
SecondActivity:
public class SecondActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);Intent intent=this.getIntent();//Bundle data=intent.getExtras();//int age=data.getInt("age");//String name=intent.getStringExtra("name");//int age=intent.getIntExtra("age", 0);//double score=intent.getDoubleExtra("score", 0);//Toast.makeText(this, "姓名:"+name+" age:"+age+" 分数:"+score, Toast.LENGTH_LONG).show(); //获取实体类对象Student stu=(Student)intent.getSerializableExtra("stu");Teacher t=intent.getParcelableExtra("teacher"); Toast.makeText(this, stu.toString()+" "+t.toString(), Toast.LENGTH_LONG).show();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.second, menu);return true;}}
Serializable:
public class Student implements Serializable{/** * */private static final long serialVersionUID = -4554710332752861155L;private String name;private Integer age;private Double score;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public Double getScore() {return score;}public void setScore(Double score) {this.score = score;}public String toString(){return "姓名:"+name+" 年龄:"+age+" 分数:"+score;}}
Parcelable:
public class Teacher implements Parcelable{private String teaName;private int teaAge;private String course;public String getTeaName() {return teaName;}public void setTeaName(String teaName) {this.teaName = teaName;}public int getTeaAge() {return teaAge;}public void setTeaAge(int teaAge) {this.teaAge = teaAge;}public String getCourse() {return course;}public void setCourse(String course) {this.course = course;}public String toString(){return "姓名:"+teaName+" 年龄:"+teaAge+" 课程:"+course;}@Overridepublic int describeContents() {return 0;} //将实体类对象写入Parcel@Overridepublic void writeToParcel(Parcel dest, int flags) {// TODO Auto-generated method stubdest.writeString(teaName);dest.writeInt(teaAge);dest.writeString(course);}public static final Creator<Teacher> CREATOR=new Creator<Teacher>() {//创建Teacher的对象数据组@Overridepublic Teacher[] newArray(int size) {// TODO Auto-generated method stubreturn new Teacher[size];}@Overridepublic Teacher createFromParcel(Parcel source) {// TODO Auto-generated method stubTeacher t=new Teacher();//按写入的顺序读取原先保存的值t.setTeaName(source.readString());//读取名字t.setTeaAge(source.readInt());//读取年龄t.setCourse(source.readString());//读取课程return t;}};}
- Android学习篇章25-Intentc传输数据Bundle-Parcelable-Serializable
- 【Android学习】Serializable和Parcelable
- Android学习-Serializable、Parcelable序列化
- android: Serializable 和 Parcelable
- Android Serializable与Parcelable
- Android Parcelable vs Serializable
- 【Android】Serializable和Parcelable
- Android - Serializable 与 Parcelable
- Android:Parcelable/Bundle/IBinder
- Android Activity之间数据传递 Parcelable和Serializable接口详解
- Android Activity之间数据传递 Parcelable和Serializable接口详解
- Android Activity之间数据传递 Parcelable和Serializable接口详解
- 详解android Activity之间数据传递 Parcelable&Serializable
- Android Activity之间数据传递 Parcelable和Serializable接口详解
- Android中数据序列化之Serializable与Parcelable
- Android中数据序列化之Serializable与Parcelable
- Android中数据序列化之Serializable与Parcelable
- Android中数据序列化之Serializable与Parcelable
- Windows Azure and Office 365
- java关键字new和newInstance()的区别
- 让你的代码有个归宿:Git学习及Emacs之magit
- java中深拷贝和浅拷贝的区别
- poj 1185 炮兵阵地
- Android学习篇章25-Intentc传输数据Bundle-Parcelable-Serializable
- MD5加密算法,在网上看了看,整理了一段小代码,以后直接拿来用
- 虚拟机网络设置详解
- @Component @Service @Controller @Repository注解使用
- Linux 进程调度机制(1)
- 2013上半年智能电视市场调研报告分析
- OC语法之NSDictionary
- 让对方qq一分钟内over掉
- LINUX进程调度(2)