转自:http://aijiawang-126-com.iteye.com/blog/643762
可以查看这两篇文章:
1,通过Serializable传递一个类对象的例子
http://mingkg21.iteye.com/blog/438913
2,通过Parcelable传递一个类对象的例子
http://mingkg21.iteye.com/blog/463895
而若需要传递多个类对象的时候就必须用Parcelable来封装类,然后将其存放在ArrayList,
我从网上下载的一个例子该成这种情况的:可以看其代码:
对象:
- package cn.wizhy;
-
- import android.os.Parcel;
- import android.os.Parcelable;
-
- public class Phone implements Parcelable{
- String type;
- String company;
- int price;
- public Phone(String t,String c,int p) {
- type=t;
- company=c;
- price=p;
- }
- public Phone() {
-
- }
- public String getType() {
- return type;
- }
- public void setType(String type) {
- this.type = type;
- }
- public String getCompany() {
- return company;
- }
- public void setCompany(String company) {
- this.company = company;
- }
- public int getPrice() {
- return price;
- }
- public void setPrice(int price) {
- this.price = price;
- }
- public static final Parcelable.Creator<Phone> CREATOR = new Creator<Phone>(){
-
- @Override
- public Phone createFromParcel(Parcel source) {
-
- Phone cus = new Phone();
- cus.type = source.readString();
- cus.company = source.readString();
- cus.price = source.readInt();
- return cus;
- }
-
- @Override
- public Phone[] newArray(int size) {
-
- return new Phone[size];
- }
-
- };
- @Override
- public int describeContents() {
-
- return 0;
- }
- @Override
- public void writeToParcel(Parcel dest, int flags) {
-
- dest.writeString(type);
- dest.writeString(company);
- dest.writeInt(price);
-
- }
- }
第一个Activity,构造类将其存放到Arraylist里,并通过Intent传给第二个Activity
- package cn.wizhy;
-
- import java.util.ArrayList;
-
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
-
- public class Demo extends Activity {
- ArrayList<Phone> info = new ArrayList<Phone>();
- public Phone phone;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- insertPhone();
- Intent intent = new Intent(this,Demo2.class);
-
-
-
-
- phone = new Phone("goole","G1",6000);
- info.add(phone);
- phone = new Phone("apple", "iphone3G", 5000);
- info.add(phone);
- intent.putExtra("phones", info);
-
- startActivity(intent);
- }
- public void insertPhone(){
- phone= new Phone("apple", "iphone3G", 5000);
- }
-
- }
第二个Activity接受数据:
- package cn.wizhy;
-
- import java.util.ArrayList;
-
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
-
- public class Demo2 extends Activity {
- ArrayList<Phone> info = new ArrayList<Phone>();
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- Intent intent = getIntent();
- info =intent.getParcelableArrayListExtra("phones");
- for(int i=0;i<info.size();i++){
- System.out.println("type="+info.get(i).type+" company="+info.get(i).company+" price"+info.get(i).price);
- }
- }
- }
分享到:
相关推荐
android序列化(Parcelable)
Parcelable和Serializable两种序列化实现,大家自行搜索关于两种序列化的优劣以及具体的序列化方式。 、
本代码就是简单的Parcelable与Serializable序列化,包括bitmap数组如何在应用中传递...
Android 序列化对象存储到sharepreference
里面的序列化与反序列化都写得听清楚的,还有从数据库中拿出数据进行反序列化这一点有点重要,因为不小心的话这里会遇到问题的,我自己写的时候就遇到过。喜欢探究的同学可以把我那部分注释掉自己写写看
Android序列化——Serializable与Parcelable
Android对象序列化的代码例子。用于演示Parcelable和Serializable两种结构的序列化对象,及其使用时的注意点。
序列化之parcel的源码,anroid存储数据的一种方式,希望对你有用哦
什么叫序列化? 我们都知道对象是暂时保存在内存中的,不能用U盘考走了,有时为了使用介质转移对象,并且把对象的状态保持下来,就需要把对象保存下来,这个过程就叫做序列化,通俗点,就是把人的魂(对象)收伏成一...
json 反序列化 http://blog.csdn.net/walker02/article/details/8105936
实现android 对象序列化,在传递数据时可用Intent传递对象
序列化和反序列化的封装类,只要调用就行 序列化和反序列化的封装类 序列化和反序列化的封装类 序列化和反序列化的封装类 序列化和反序列化的封装类
自己敲的5种页面传值的方式,cookies、application、
java 对象的序列化与反序列化 java 对象的序列化与反序列化
android通过webservice访问服务器,使对象序列化。
C++ JSON 序列化与反序列化 相关的博客文章见:http://blog.csdn.net/TragicGuy
详细诠释Android中两种序列化方式以及机制
1.对象序列化的介绍 (1).NET支持对象序列化的几种方式 二进制序列化:对象序列化之后是二进制形式的,通过BinaryFormatter类来实现的,这个类位于System.Runtime.Serialization.Formatters.Binary命名空间下。 SOAP...
Xson是一个Java对象序列化和反序列化程序。支持Java对象到字节数组的序列化,和从字节数组到Java对象的反序列化。 Maven: <groupId>com.github.xsonorg</groupId> <artifactId>xson-core <version>1.0.1 ...
Vbs序列化/反序列化Json基类 可直接使用,bug已被我修复 Example: Dim fso, json, str, o, i Set json = New VbsJson Set fso = WScript.CreateObject("Scripting.Filesystemobject") str = fso.OpenTextFile(...