私のAndroidアプリケーションでは、Realmを使用してデータを保存しようとしています。データ構造は次のようになります。 これはCrimeDatabase
のオブジェクトのリストです。 CrimeDatabase
には、Date
とHashMap<LatLng, CrimeIncident>
という2つの属性があります。 HashMap
の鍵は犯罪の座標を格納するLatLng
であり、CrimeIncident
は他の情報を格納する私のカスタムクラスオブジェクトです。要するにだから、私のデータ構造視覚は次のようになります。Realm Java:HashMapとLatLngのサポート
DATE 08/01/2017
- HashMap<LatLng, CrimeIncident>
- LatLng: 39.9526° N, 75.1652° W
- CrimeIncident: Address, Time, CrimeType
- HashMap<LatLng, CrimeIncident>
- LatLng: 39.9530° N, 75.1648° W
- CrimeIncident: Address, Time, CrimeType
DATE 08/02/2017
- HashMap<LatLng, CrimeIncident>
- LatLng: 39.9533° N, 75.1659° W
- CrimeIncident: Address, Time, CrimeType
- HashMap<LatLng, CrimeIncident>
- LatLng: 39.9524° N, 75.1630° W
- CrimeIncident: Address, Time, CrimeType
以下は私のコードです。私は、レルムも私がHashMap
CrimeDatabase
内部のオブジェクトを置くことを許可していませんthis answer
public class CrimeRealmObject extends RealmObject {
public RealmList<CrimeDatabase> crimeMap;
}
public class CrimeDatabase extends RealmObject {
private Date date;
private HashMap<LatLng, CrimeIncident> myHashMap;
}
からRealmList内CrimeDatabaseオブジェクトをラップのアプローチを行いました。私もキー/値属性を持つRealmHashMap
クラスを作成しようとしましたが、それはLatLng
がサポートされていなかったというエラーを投げました。
この作品を作成する方法についてのご意見はありますか?ありがとう!
は 'Map'は、レルムでサポートされていない条件として、その指定した日付とRealmQueryを行います。回避策についてはhttps://stackoverflow.com/questions/35311755/realm-orm-how-to-deal-with-mapsをご覧ください。 – beeender
私はそれについて知っており、私はその答えを試みました。私の質問の下半分をお読みください。 –
LatLngがサポートされていない場合は、double属性(緯度と経度の両方)のオブジェクトを作成する方法はありますか?後でdouble属性からLatLngオブジェクトを作成するメソッドを後で作成することができます。 –