我是Realm的初学者。
我有一个包含3列的表,名为 Id,Name,Email,Address 。 要获取Name列的数据,我们对SQLite使用'table_name'的SELECT Name等查询。
如果我们在Android中使用Realm,那么我们必须使用哪种方法来获取只有一列的数据?
我在Google&文档,但无济于事。 有谁可以帮助我?
更新
我的尝试:
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++){
}
答案 0 :(得分:5)
请查看文档中的queries部分:
所有提取(包括查询)在Realm中都是惰性的,并且永远不会复制数据。
这意味着,当您调用<div class="checkbox">
<label>
<input type="checkbox" name="RememberMe">
Remember Me?
</label>
</div>
方法时,将获取特定列(属性)的数据。在调用getMyProperty()
对象的finadAll()
方法
答案 1 :(得分:3)
如果我们在Android中使用Realm,那么我们必须使用哪种方法来获取只有一列的数据?
你不能,因为Realm是一个对象商店,它没有&#34;列&#34;的概念。
我的问题:
results.size()&gt; 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();