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

时间:2017-03-07 05:17:21

标签: android database realm

我是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++){ 
}

2 个答案:

答案 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();