我有一个realmObject自定义类
public class TerminalTable extends RealmObject implements Serializable{
public String logo = "";
public String company_id = "";
public String company = "";
public String company_identification = "";
public String address = "";
public String serial_number = "";
public String getLogo() {
return logo;
}
public void setLogo(String logo) {
this.logo = logo;
}
public String getCompany_id() {
return company_id;
}
public String getCompany() {
return company;
}
public String getCompany_identification() {
return company_identification;
}
public String getAddress() {
return address;
}
public String getSerial_number() {
return serial_number;
}
public String getTerminal_id() {
return terminal_id;
}
public String getAdditional_text() {
return additional_text;
}
public String terminal_id = "";
public String additional_text = "";
}
我成功地在我的数据库中插入了一些元素,现在我想选择它。我写了一些代码并且这段代码正常工作,这是一个来源
public static RealmResults getTerminalTable()
{
realm = Realm.getDefaultInstance();
realm.executeTransaction(realm -> {
terminalTable = realm.where(TerminalTable.class).findAll();
});
return terminalTable;
}
正如你可以看到我的函数返回RealmResults对象,如何重写我的函数可以返回TerminalTable对象,而不是RealmResults 感谢
答案 0 :(得分:0)
首先,为什么要执行事务以进行读取。
findAll()
返回集合对象,然后你必须迭代对象。
对于特定记录,可以选择findFirst()
。
您正在寻找的,可以通过以下方式完成。
将获取所有记录。
public static List<TerminalTable> getTerminalTable()
{
List<TerminalTable> terminalTable;
try(Realm realm = Realm.getDefaultInstance()) {
terminalTable = realm.copyFromRealm(realm.where(TerminalTable.class).findAll()); // return all data as list
}
return terminalTable;
}
从领域中获取单个记录
public static TerminalTable getSingleTerminalTable()
{
TerminalTable terminalTable;
try(Realm realm = Realm.getDefaultInstance()) {
terminalTable = realm.copyFromRealm(realm.where(TerminalTable.class).findFirst());
}
return terminalTable;
}
如果要处理托管对象,则查询应该类似于
terminalTable = realm.where(TerminalTable.class).findFirst();