我试图用realm保存这个对象,但是我得到了这个错误
错误:(24,9)错误:类型
字段的java.util.ArrayList
不支持savedpath
这是我的代码:

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(){}}

提前付款

最佳答案

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

在从数据库插入/检索时,需要手动将latlng类的对象转换为location类。

关于android - 如何在RealmObject中保存ArrayList <LatLng> savedPath,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40860510/

10-12 03:14