从 Realm Database (Android) 中获取单个列



我是 Realm 的初学者。

我有一个包含 3 列的表,分别命名为ID、姓名、电子邮件、地址。 为了获取名称列的数据,我们使用类似"从table_name中选择名称">这样的查询来表示 SQLite。

如果我们在 Android 中使用 Realm,那么我们必须使用哪种方法来获取仅一列的数据?

我在谷歌和文档上搜索了很多,但无济于事。 谁能帮我?

更新:

我尝试过什么:

RealmResults<User> results = query.findAll();
ArrayList<String> name = new Arraylist(); 
for(i=0; i<results.size; i++){ 
name.add(result.get(i).getName();
}

我的问题:

results.size()  > 10k. So I want to avoid 10k iteration
for(i=0; i<results.size; i++){ 
}

查看文档中的查询部分:

在 Realm 中,所有的获取(包括查询)都是惰性的,并且数据永远不会被复制。

这意味着,当您调用该方法时,将获取特定列(属性)的数据getMyProperty()。不是在调用finadAll()对象RealmQuery方法之后

如果我们在 Android 中使用 Realm,那么我们必须使用哪种方法来获取一列的数据?

你不能,因为 Realm 是一个对象存储,它没有"列"的概念。


我的问题:

results.size()> 10k。所以我想避免 10k 迭代

for(i = 0; i < results.size(); i++){ 
}

解决方案:不迭代?

RealmResults<User> results = query.findAll();
//List<String> name = new ArrayList<>(); 
//for(i = 0; i < results.size(); i++){ 
//     name.add(result.get(i).getName();
//}
return results;
// ...
String name = results.get(position).getName();

最新更新