我可以存储来自 android SDK 的对象,例如位置吗?

Can I store objects from android SDK like Location?

我可以存储来自 android SDK 的对象,例如领域中的位置吗?如果是这样,我该怎么做?我收到此错误消息 Error:(14, 8) error: Type android.location.Location of field location is not supported 或者保存位置的解决方法是什么?

Realm 只能存储扩展 RealmObject 的 classes,因此无法直接保存 android.location.Location class。

如果您需要 android Location class 其他 API 我会创建我自己的 Realm Location class 能够转换它的代表,像这样:

public class MyLocation extends RealmObject {

  // Duplicate all parameters required to initialise a android Location 
  private double longitude;
  private double latitude;
  ...

  // Public static method for converting object to android Location
  public static android.location.Location getLocation(MyLocation loc) {
    Location location = new Location("Realm");
    // Set all relevant location parameters
    return location;
  }
}