在Realm Android上列出<object>或RealmList <realmobject>

时间:2015-05-07 10:03:03

标签: java android realm

我需要使用Realm private DataTable GetData(SqlCommand cmd) { String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["conString"].ConnectionString; using(var con = new SqlConnection(strConnString)) { cmd.CommandType = CommandType.Text; cmd.Connection = con; con.Open(); DataTable dt = new DataTable(); //load data into datatable here dt.Load(cmd.ExecuteReader()); return dt; } } 。我尝试了list<Object>,但它不起作用,因为RealmList<RealmObject>是抽象的。

1 个答案:

答案 0 :(得分:56)

来自境界的克里斯蒂安。您只能保存在Realm中扩展RealmObject的对象。这是因为Realm不是无模式数据库。我们确实需要一个模式,该模式由扩展RealmObject的对象定义。我们使用RealmList,因为它抽象了与底层核心数据库的通信,但它实现了List接口。

这意味着

public class Foo extends RealmObject {
  private List<Object> objects;  // not legal
  private RealmList<Object> objects;  // not legal 
  private RealmList<RealmObject> objects; // not legal
}

public class Foo extends RealmObject {
  private RealmList<Foo> objects; // legal
}

List<Foo> reference = foo.getObjects(); // Legal