Android 领域中的直接字段访问
Direct field access in Realm for Android
到处都提到,Realm 需要私有字段成员上的 setter 和 getter 才能正常工作。不小心我使用了 public 没有 setters / getters 的成员,这个小例子起作用了。我是否遗漏了什么(现在或将来)这种方法不再适用的地方?
正在使用 Android Studio with io.realm:realm-gradle-plugin:0.91.0
这是一些代码:
public class Contact extends RealmObject {
public String phone;
public String mail;
public String person;
}
以后...
realm.beginTransaction();
Contact contact = realm.createObject(Contact.class);
contact.mail="123";
contact.person="456";
contact.phone="789";
realm.commitTransaction();
final RealmResults<Contact> contacts = realm.where(Contact.class).findAll();
for (Contact c: contacts) {
Log.i(TAG, "mail: " + c.mail);
Log.i(TAG, "person: " + c.person);
Log.i(TAG, "phone: " + c.phone);
}
来自 Realm 的 Emanuele。自 0.88.0 https://realm.io/news/realm-java-0.88.0/
以来,Realm 一直支持没有访问器的 public 字段
到处都提到,Realm 需要私有字段成员上的 setter 和 getter 才能正常工作。不小心我使用了 public 没有 setters / getters 的成员,这个小例子起作用了。我是否遗漏了什么(现在或将来)这种方法不再适用的地方?
正在使用 Android Studio with io.realm:realm-gradle-plugin:0.91.0
这是一些代码:
public class Contact extends RealmObject {
public String phone;
public String mail;
public String person;
}
以后...
realm.beginTransaction();
Contact contact = realm.createObject(Contact.class);
contact.mail="123";
contact.person="456";
contact.phone="789";
realm.commitTransaction();
final RealmResults<Contact> contacts = realm.where(Contact.class).findAll();
for (Contact c: contacts) {
Log.i(TAG, "mail: " + c.mail);
Log.i(TAG, "person: " + c.person);
Log.i(TAG, "phone: " + c.phone);
}
来自 Realm 的 Emanuele。自 0.88.0 https://realm.io/news/realm-java-0.88.0/
以来,Realm 一直支持没有访问器的 public 字段