1 package com.exmyth.ui.model;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 public class ProductItem{
7 //-------------------------以下字段在扫描中需要额外用到-------------------------
8 protected String productId = ""; //产品id,扫描标签时候会返回该字段
9 protected String brandName = "";
10 //-------------------------以上字段在扫描中需要额外用到-------------------------
11
12 protected String productName = "";
13 protected String standard = "";
14 protected String featureDesc = "";
15 protected String[] productUrls;
16 protected List<Entry> params = new ArrayList<Entry>();
17
18 public ProductItem() {
19 super();
20 }
21
22 public String getProductId() {
23 return productId;
24 }
25 public void setProductId(String productId) {
26 this.productId = productId;
27 }
28 public String getBrandName() {
29 return brandName;
30 }
31 public void setBrandName(String brandName) {
32 this.brandName = brandName;
33 }
34
35
36
37 public String getProductName() {
38 return productName;
39 }
40
41 public void setProductName(String productName) {
42 this.productName = productName;
43 }
44
45 public String getStandard() {
46 return standard;
47 }
48
49 public void setStandard(String standard) {
50 this.standard = standard;
51 }
52
53 public String getFeatureDesc() {
54 return featureDesc;
55 }
56
57 public void setFeatureDesc(String featureDesc) {
58 this.featureDesc = featureDesc;
59 }
60
61 public String[] getProductUrls() {
62 return productUrls;
63 }
64
65 public void setProductUrls(String[] productUrls) {
66 this.productUrls = productUrls;
67 }
68
69 public List<Entry> getParams() {
70 return params;
71 }
72
73 public void setParams(List<Entry> params) {
74 this.params = params;
75 }
76 }
1 package com.exmyth.ui.model;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import android.os.Parcel;
7 import android.os.Parcelable;
8
9 public class GoodsItem extends ProductItem implements Parcelable{
10 private String bindId;
11 private String produceDate = "";
12
13 public GoodsItem() {
14 super();
15 }
16
17 public String getBindId() {
18 return bindId;
19 }
20
21 public void setBindId(String bindId) {
22 this.bindId = bindId;
23 }
24
25 public String getProduceDate() {
26 return produceDate;
27 }
28
29 public void setProduceDate(String produceDate) {
30 this.produceDate = produceDate;
31 }
32
33 @Override
34 public int describeContents() {
35 // TODO Auto-generated method stub
36 return 0;
37 }
38
39 @Override
40 public void writeToParcel(Parcel dest, int flags) {
41 // TODO Auto-generated method stub
42 dest.writeString(bindId);
43 dest.writeString(productId);
44 dest.writeString(standard);
45 dest.writeString(productName);
46 dest.writeString(featureDesc);
47 dest.writeString(brandName);
48 dest.writeString(produceDate);
49
50 if(null == productUrls){
51 dest.writeInt(0);
52 }else{
53 dest.writeInt(productUrls.length);
54 dest.writeStringArray(productUrls);
55 }
56 if(null == params || 0 == params.size()){
57 dest.writeInt(0);
58 }
59 else{
60 dest.writeInt(params.size());
61 // dest.writeList(params);
62 dest.writeTypedList(params);
63 }
64 }
65
66 public static final Parcelable.Creator<GoodsItem> CREATOR = new Creator<GoodsItem>() {
67
68 @Override
69 public GoodsItem createFromParcel(Parcel source) {
70 GoodsItem goodsItem = new GoodsItem();
71 goodsItem.bindId = source.readString();
72 goodsItem.productId = source.readString();
73 goodsItem.standard = source.readString();
74 goodsItem.productName = source.readString();
75 goodsItem.featureDesc = source.readString();
76 goodsItem.brandName = source.readString();
77 goodsItem.produceDate = source.readString();
78
79 int length = source.readInt();
80 String[] productUrls = new String[length];
81 if(length > 0){
82 source.readStringArray(productUrls);
83 }
84 goodsItem.productUrls = productUrls;
85
86 int size = source.readInt();
87 List<Entry> params = new ArrayList<Entry>(size);
88 if(size > 0){
89 // source.readList(params, GoodsItem.class.getClassLoader());
90 source.readTypedList(params, Entry.CREATOR);
91 }
92 goodsItem.params = params;
93
94 return goodsItem;
95 }
96
97 @Override
98 public GoodsItem[] newArray(int size) {
99 // TODO Auto-generated method stub
100 return new GoodsItem[size];
101 }
102 };
103 }
1 package com.exmyth.ui.model;
2
3 import android.os.Parcel;
4 import android.os.Parcelable;
5
6
7 /*
8 featureDesc: 产品特色描述
9 productName: 产品名称
10 standard:产品规格
11 type:
12 name:参数名称
13 value:参数值
14 showOrder:显示顺序
15 */
16 public class Entry implements Parcelable{
17
18 public static final String PARAM_TYPE_COMBO = "1";
19 public static final String PARAM_TYPE_TEXT = "2";
20 public static final String PARAM_TYPE_CONTACT = "3";
21 public static final String PARAM_TYPE_HYPERLINK = "4";
22 private String type; // 参数类型 1-下拉 2-文本 3-联系电话 4-链接地址
23 private String name = ""; // 参数名称
24 private String[] value; // 参数值
25 private String showOrder = "0"; // 显示顺序
26 // public ViewType viewType = ViewType.TEXT; // 控件类型
27 private int index = 0; // 文本,电话,链接地址的类型为0;控件类型为combo的,默认第一项
28 private boolean isShow = false;
29
30 // public enum ViewType {
31 // COMBO("1"), TEXT("2"), CONTACT("3"), HYPERLINK("4");
32 //
33 // String value;
34 //
35 // private ViewType(String value) {
36 // this.value = value;
37 // }
38 // }
39
40 public Entry() {
41 super();
42 }
43
44 public Entry(String type, String name, String[] value, String showOrder) {
45 this(type, name, value, showOrder, 0);
46 }
47
48 public Entry(String type, String name, String[] value, String showOrder,
49 int index) {
50 super();
51 this.type = type;
52 this.name = name;
53 this.value = value;
54 this.showOrder = showOrder;
55 this.index = index;
56 }
57
58 public String getType() {
59 return type;
60 }
61
62 public void setType(String type) {
63 this.type = type;
64 }
65
66 public String getName() {
67 return name;
68 }
69
70 public void setName(String name) {
71 this.name = name;
72 }
73
74 public String[] getValue() {
75 return value;
76 }
77
78 public void setValue(String[] value) {
79 this.value = value;
80 }
81
82 public String getShowOrder() {
83 return showOrder;
84 }
85
86 public void setShowOrder(String showOrder) {
87 this.showOrder = showOrder;
88 }
89
90 public int getIndex() {
91 return index;
92 }
93
94 public void setIndex(int index) {
95 this.index = index;
96 }
97
98 public boolean isShow() {
99 return isShow;
100 }
101
102 public void setShow(boolean isShow) {
103 this.isShow = isShow;
104 }
105
106 @Override
107 public String toString() {
108 return "Entry [type=" + type + ", name=" + name + ", value="
109 + (null == value ? "" : value[index]) + ", index=" + index + "]";
110 }
111
112 @Override
113 public int describeContents() {
114 // TODO Auto-generated method stub
115 return 0;
116 }
117
118 @Override
119 public void writeToParcel(Parcel dest, int flags) {
120 dest.writeString(type);
121 dest.writeString(name);
122
123 if(null == value){
124 dest.writeInt(0);
125 }else{
126 dest.writeInt(value.length);
127 dest.writeStringArray(value);
128 }
129
130 dest.writeString(showOrder);
131 dest.writeInt(index);
132 }
133
134 public static final Parcelable.Creator<Entry> CREATOR = new Creator<Entry>() {
135 @Override
136 public Entry[] newArray(int size) {
137 return new Entry[size];
138 }
139
140 //将Parcel对象反序列化为UserInfo
141 @Override
142 public Entry createFromParcel(Parcel source) {
143 Entry entry = new Entry();
144 entry.type = source.readString();
145 entry.name = source.readString();
146
147
148 int length = source.readInt();
149 String[] value = new String[length];
150 if(length > 0){
151 source.readStringArray(value);
152 }
153 entry.value = value;
154
155 entry.showOrder = source.readString();
156 entry.index = source.readInt();
157 return entry;
158 }
159 };
160 }