簡體   English   中英

無法從文件讀取我的課程(Android)

[英]Can't read my class from file (Android)

我一直在搜索,找不到答案...我創建了一個類,並將該類的ArrayList成功保存到文件中,但是當我嘗試讀取此文件時,我一直在獲取:

E /讀取文件(14768):java.io.WriteAbortedException:讀取異常; java.io.NotSerializableException:il.co.hyperactive.callmaagansmallgate.Gate

這是我的課:

public class Gate implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = 3L;
    private double latitude;
    private double longitude;
    private String name;
    private String phoneNumber;

    public Gate(String name, double longitude, double latitude,
            String phoneNumber) {
        this.name = name;
        this.longitude = longitude;
        this.latitude = latitude;
        this.phoneNumber = phoneNumber;
    }

    public Gate(String name) {
        this.name = name;
    }

    public void setPlace(double latitude, double longitude) {
        this.longitude = longitude;
        this.latitude = latitude;
    }

    public String toString() {
        return name + "\nLatitude:" + latitude + "\nLongitude:" + longitude
                + "\nNumber:" + phoneNumber;
    }

    public double getLatitude() {
        return latitude;
    }

    public void setLatitude(double latitude) {
        this.latitude = latitude;
    }

    public double getLongitude() {
        return longitude;
    }

    public void setLongitude(double longitude) {
        this.longitude = longitude;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }
}

Serializable需要默認構造函數,沒有參數。 因此,請務必添加:

public Gate(){
}

這是必需的,因為只有在未指定編譯器的情況下,編譯器才會生成默認的構造器。 序列化總是調用默認構造函數,然后通過getter和setter填充對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM