在Android開發者文檔的Android Parcelable實行以避免getter和setter Android Performance Pattern 如何創建Parcelable實現模型類?沒有getter和setter
0
A
回答
1
在Android開發者文檔,以避免getter和setter的Android性能模式
不,不。 The section on getters and setters is entitled "Avoid Internal Getters/Setters"(強調添加)。它指的是在類中使用getter和setter,而不是字段訪問。它並沒有暗示一般應避免吸氣劑和吸附劑。
如何創建Parcelable實現的模型類?
您創建所有Parcelable
classes以同樣的方式:
- 添加
implements Parcelable
類定義 - 實施
writeToParcel()
- 實施
describeContents()
- 添加
CREATOR
static
場
這與getter或setters沒有任何關係。在the JavaDocs for Parcelable
中顯示的MyParcelable
樣本類不會在mData
字段中使用吸氣劑或設置器。
同樣,使用parcelabler.com,這裏是Parcelable
實施Chair
的:
public class Chair implements Parcelable {
private String material;
private int numLegs;
protected Chair(Parcel in) {
material = in.readString();
numLegs = in.readInt();
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(material);
dest.writeInt(numLegs);
}
@SuppressWarnings("unused")
public static final Parcelable.Creator<Chair> CREATOR = new Parcelable.Creator<Chair>() {
@Override
public Chair createFromParcel(Parcel in) {
return new Chair(in);
}
@Override
public Chair[] newArray(int size) {
return new Chair[size];
}
};
}
它也不會使用的getter和setter方法。
0
你只需要直接給變量賦值。
private String item1;
private String item2;
public ClassName(String item1, String item2) {
this.item1 = item1;
this.item2 = item2;
}
protected ClassName(Parcel in) {
this.item1 = in.readString();
this.item2 = in.readString();
}
@Override
public int describeContents() { return 0; }
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.item1);
dest.writeString(this.item2);
}
public static final Creator<ClassName> CREATOR = new Creator<ClassName>() {
@Override
public ClassName createFromParcel(Parcel source) {return new ClassName(source);}
@Override
public ClassName[] newArray(int size) {return new ClassName[size];}
};
相關問題
- 1. 沒有getter/setter方法
- 2. jsonencoderdecoder沒有getter/setter方法
- 3. getter和setter C++
- 4. Synchronzied Getter和Setter
- 5. getter和setter在
- 6. 有什麼用getter和setter
- 7. Checkstyle,沒有用於getter和setter的JavaDoc僅適用於getter
- 8. 使用getter和setter
- 9. Getter和Setter解釋?
- 10. getter和setter問題
- 11. Setter和getter消息
- 12. 汽車getter和setter
- 13. setter和getter錯誤
- 14. getter和setter風格
- 15. 枚舉setter和getter
- 16. Angular 2 Setter和Getter
- 17. Getter和Setter方法
- 18. setter和getter方法
- 19. Getter和setter問題
- 20. C#6 getter和setter
- 21. 使用getter和setter
- 22. setter和getter公約
- 23. 的JUnit getter和setter
- 24. getter和setter錯誤
- 25. 定義getter沒有setter ecma6 - 反應
- 26. C#:有沒有辦法訪問私有getter和setter?
- 27. 繼承和getter和setter
- 28. 有沒有辦法在Eclipse中自動生成getter和setter?
- 29. 具有複合主鍵的實體類沒有getter和setter
- 30. 有沒有辦法使用ArgoUML自動生成getter和setter