Realm は、サードパーティの Parcelable オブジェクト (Maps API の MarkerOptions クラスなど) を保持するためのサポートを提供していますか?
だから、私は Android 用のルート計画アプリを構築しており、Maps API からの LatLng、MarkerOptions、Polyline オブジェクトのリストを永続化する必要があります。これらはすべて Parcelable を実装しています。オブジェクトのリストを永続化するために Realm を試してみようと思いました。
Realm でのParcelerライブラリのサポートについて読み、Realm で LatLng オブジェクトを含む Parcelable クラスを永続化しようとしていました。
import io.realm.RealmObject;
import io.realm.SavedLocationRealmProxy;
@Parcel
public class SavedLocation extends RealmObject{
private String locationName;
private LatLng location;
private String areaName;
public SavedLocation() {
}
public SavedLocation(String locationName, LatLng location) {
this.locationName = locationName;
this.location = location;
}
public SavedLocation(String locationName, LatLng location, String areaName) {
this.locationName = locationName;
this.location = location;
this.areaName = areaName;
}
...
このエラーでコンパイルが完了しません
Error:(7, 8) error: Type com.google.android.gms.maps.model.LatLng of field location is not supported
また、レルムのドキュメントの指示に従って、この注釈を追加しようとしました
@Parcel(implementations = { SavedLocationRealmProxy.class },
value = Parcel.Serialization.BEAN,
analyze = { SavedLocation.class })
public class SavedLocation extends RealmObject{
...
ただし、LatLng クラスが含まれているため、SavedLocationRealmProxy は作成されません。
Parceler のサポートは、RealmObjects をパーセル化できるようにするためだけに提供されているのでしょうか?それとも、Parcelable オブジェクトを Realm で永続化できるのでしょうか?
ありがとう..