如何选择单行以及插入和删除行

时间:2019-06-17 10:08:51

标签: android realm

我是RealM库的新手,这是我的要求,默认情况下,我需要成功插入10000行。但是我在选择,插入和删除行时遇到了几个问题。

下面是将行添加到数据库的代码

for (int i = 0; i <= 10000; i++) {
        realm.beginTransaction();

        TestModel model = new TestModel();
        model.setId(i);
        model.setName("Test App");
        realm.copyToRealmOrUpdate(model);
        realm.commitTransaction();
}

能不能请我在这里指导!

  1. 选择一行-我要选择第30行?怎么可能。我对下面的代码感到厌倦,但无法实现。

  2. 插入新行-此外,我想插入新行

  3. 删除新闻行-我要删除在第2步中添加的新闻行

    private void deleteRecords(){

    TestModel model = new TestModel();
    RealmResults<TestModel> results
                    = realm.where(TestModel.class)
                    .equalTo("name", model.getName())
                    .findAllAsync();
    
            realm.beginTransaction();
            if (results != null) {
                results.clear();
            }
    
            realm.commitTransaction();
        }
    

1 个答案:

答案 0 :(得分:1)

  1. 要在领域中插入行,请这样做

    Realm realm = Realm.getDefaultInstance();
    Person person = new Person();
    person.setName("ABC");
    realm.executeTransaction(r -> {
        // Add a object.
        realm.insertOrUpdate(person);
    });
    
  2. 从领域删除单行或多行

    Realm.getDefaultInstance().executeTransaction(realm -> {
        RealmResults<Person> result = realm.where(Person.class).equalTo("name","ABC").findAll();
        result.deleteAllFromRealm();
    });
    
  3. 从领域查询行-

    Person person=Realm.getDefaultInstance().where(Person.class).equalTo("name","ABC").findFirst();