在android中从域中删除单个对象数据/行
我添加了一个单用户数据,如下所示:在android中从域中删除单个对象数据/行,android,database,realm,delete-row,Android,Database,Realm,Delete Row,我添加了一个单用户数据,如下所示: Realm realm = Realm.getDefaultInstance(); newUser = new UserDatabase(); realm.executeTransaction(new Realm.Transaction() { public void execute(Realm realm) { newUser.setClassName(classSectionName); newUser.setClassNO(c
Realm realm = Realm.getDefaultInstance();
newUser = new UserDatabase();
realm.executeTransaction(new Realm.Transaction() {
public void execute(Realm realm) {
newUser.setClassName(classSectionName);
newUser.setClassNO(classNO);
newUser.setImageUrl(imageUrl);
newUser.setRollNo(rollNO);
newUser.setSchool(school);
// and now saved the data in peresistant data like this:
realm.copyToRealm(newUser);
}
});
但是我找不到从领域数据库中删除一个条目的方法,即使我这样尝试,它也不起作用。
Realm realm = Realm.getDefaultInstance();
UserDatabase tempUser = new UserDatabase();
final RealmResults<UserDatabase> students = realm.where(UserDatabase.class).findAll();
for(int i=0 ; i<students.size();i++){
final int index =i;
if((students.get(i).getUserID()).equals(prefs.getString(QRActivity.USER_ID_AFTER_LOGIN,"jpt"))&&
(students.get(i).getUserName()).equals(prefs.getString(QRActivity.USER_NAME_AFTER_LOGIN,"jpt"))){
realm.executeTransaction(new Realm.Transaction() {
public void execute(Realm realm) {
//Trying to delete a row from realm.
students.deleteFromRealm(index);
}
});
}
}
Realm-Realm=Realm.getDefaultInstance();
UserDatabase tempUser=newuserdatabase();
final RealmResults students=realm.where(UserDatabase.class).findAll();
对于(int i=0;i您总是可以通过RealmResults
使用realmquery
而不是对其运行循环来找到匹配的实例。请尝试此操作
final RealmResults students=realm
.where(UserDatabase.class)
.findAll();
UserDatabase UserDatabase=学生
.where()
.equalTo(“userId”,prefs.getString(qractive.USER\u ID,登录后,“jpt”))
.equalTo(“userName”,prefs.getString(qractive.USER\u NAME,在登录后,“jpt”))
.findFirst();
if(userdatabase!=null){
如果(!realm.isInTransaction()){
realm.beginTransaction();
}
userdatabase.deleteFromRealm();
realm.commitTransaction();
}
注意:我假设你的专栏名为“userId”和“userName”,你可以写你的专栏名