gpt4 book ai didi

java - Java Realm : Support for HashMap and LatLng

转载 作者:行者123 更新时间:2023-12-02 12:20:21 26 4
gpt4 key购买 nike

在我的 Android 应用程序中,我尝试使用 Realm 存储我的数据,我的数据结构如下所示。这是 CrimeDatabase 的列表对象。 CrimeDatabase有两个属性:DateHashMap<LatLng, CrimeIncident>HashMap的 key 是LatLng它存储犯罪的坐标和 CrimeIncident是我的自定义类对象,它存储其他信息。简而言之,我的数据结构视觉看起来像这样:

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

下面是我的代码。我遵循将 CrimeDatabase 对象包装在 RealmList 中的方法 this answer

public class CrimeRealmObject extends RealmObject {
public RealmList<CrimeDatabase> crimeMap;
}

public class CrimeDatabase extends RealmObject {
private Date date;
private HashMap<LatLng, CrimeIncident> myHashMap;
}

Realm 甚至不允许我输入 HashMap里面CrimeDatabase目的。我什至尝试创建一个 RealmHashMap具有键/值属性的类,但它抛出一个错误,说 LatLng不支持。

关于如何实现这项工作有什么想法吗?谢谢!

最佳答案

您可以轻松地将每个结构映射到单个 RealmObject 中,将它们保存到 Realm 中,让您的生活变得更加轻松。

CrimeIncident extends RealmObject  {
Date date;
double lat;
double lng;
String address;
Date time;
String crimeType;

然后,如果您需要给定日期的对象,只需以给定日期作为条件执行 RealmQuery

关于java - Java Realm : Support for HashMap and LatLng,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45829672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com