android – 带List的Realm查询

android – 带List的Realm查询,第1张

概述我正在使用领域将我的数据存储在 Android上.很棒的框架!现在我唯一的问题是: 我的数据库中有一个带有国家ID的数组列表字符串. 现在我找回包含与国家关系的饮料. 有没有办法可以像这样进行查询: String [] ids;realm.where(Drinks.class).equalsTo("country.id", ids); 那样的东西? 或者我真的需要进行查询以获取所有饮料,然后手 我正在使用领域将我的数据存储在 Android上.很棒的框架!现在我唯一的问题是:

我的数据库中有一个带有国家ID的数组列表字符串.

现在我找回包含与国家关系的饮料.

有没有办法可以像这样进行查询:

String [] IDs;realm.where(Drinks.class).equalsTo("country.ID",IDs);

那样的东西?

或者我真的需要进行查询以获取所有饮料,然后手动过滤列表?

编辑:

我的课程:

public class Drinks extends RealmObject {    @PrimaryKey    private String ID;    private String name;    private Country country;}public class Country extends RealmObject {    @PrimaryKey    private String ID;    private String name;}
解决方法 你理想的是理论上的链接查询(搜索“country.ID”),但是链接查询很慢.此外,您需要将一堆或()谓词连接在一起,我不会冒险使用链接查询.

我建议使用以下内容

public class Drinks extends RealmObject {    @PrimaryKey    private String ID;    private String name;    private Country country;    @Index    private String countryID;}public class Country extends RealmObject {    @PrimaryKey    private String ID;    private String name;}

在类中设置Country时,还将countryID设置为country.getID().

一旦你这样做,你可以构建这样的:

Realmquery<Drinks> drinkquery = realm.where(Drinks.class);int i = 0;for(String ID : IDs) {    if(i != 0) {        drinkquery = drinkquery.or();    }    drinkquery = drinkquery.equalTo("countryID",ID);    i++;}return drinkquery.findAll();
总结

以上是内存溢出为你收集整理的android – 带List的Realm查询全部内容,希望文章能够帮你解决android – 带List的Realm查询所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1137040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存