2016-11-29 43 views
1

我試着使用領域來保存這個對象,但我得到這個錯誤我怎麼能保存的ArrayList <LatLng> savedPath在RealmObject

Error:(24, 9) error: Type java.util.ArrayList of field savedPath is not supported

這裏是我的代碼:

public class TrackingInfo extends RealmObject { 
    private int order_id; 
    private double savedDistance; 
    private double savedDuration; 
    private ArrayList <LatLng>savedPath; 

public int getOrder_id() { 
    return order_id; 
} 

public void setOrder_id(int order_id) { 
    this.order_id = order_id; 
} 

public double getSavedDistance() { 
    return savedDistance; 
} 

public void setSavedDistance(double savedDistance) { 
    this.savedDistance = savedDistance; 
} 

public double getSavedDuration() { 
    return savedDuration; 
} 

public void setSavedDuration(double savedDuration) { 
    this.savedDuration = savedDuration; 
} 

public ArrayList<LatLng> getSavedPath() { 
    return savedPath; 
} 

public void setSavedPath(ArrayList<LatLng> savedPath) { 
    this.savedPath = savedPath; 
} 

public TrackingInfo(){}} 

Thanx提前

+0

我認爲你需要使用列表(領域類)和經緯度應RealmObject或類似的東西 – zombie

+0

但我使用Android經緯度,所以我不能讓它擴展realmObject,它是不可編輯 – alsalimi

+0

有一些支持的類型除了需要創建它的RealmObject之外,請檢查https://realm.io/docs/swift/latest/api/Classes/Object.html – zombie

回答

2

List和LatLng都不能直接存儲在Realm中。您需要爲LatLng創建模型對象,然後使用包含模型對象的RealmList對象。

public class Location extends RealmObject { 
    public Location() { } 
    double latitude; 
    double longitude; 
} 

RealmList<Location> savedPath = new RealmList<Location>(); 
//Add location objects to savedPath and store it in your TrackingInfo object 

您需要手動將經緯度類的對象轉換爲Location類,當你插入/從數據庫中檢索。

+0

我保存了我的積分latlng,像這樣{pointsarr.add (new LatLng(latitudeloc,longitudeloc));}如何保存到我的模型對象 – alsalimi

+0

對於每個LatLng對象,創建一個新的Location對象(如上所述)並將LatLng對象中的getLatitude()和getLongitude()值存儲在位置對象 – rhari

+0

我得到這個錯誤 io.realm.exceptions.realmmigrationneeded異常領域遷移必須提供 – alsalimi

相關問題