领域。 Android时调用方法realm.close()?

时间:2017-08-09 10:01:21

标签: android realm

我想将领域与许多设备同步。所以我需要在更新本地域之后将数据上传到Relm Object Server(ROS)。

这里代码:

public class MainActivity extends AppCompatActivity  {
    private Realm realm;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        realm = Realm.getDefaultInstance();
    }


    @Override
    public void addOrUpdateOrganisation(final String orgranisationJson) {
        realm.executeTransactionAsync(new Realm.Transaction() {
            @Override
            public void execute(Realm realm) {
                realm.createOrUpdateObjectFromJson(Organisation.class, orgranisationJson);
            }
        });
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        realm.close();
    }
}

但数据没有更新。

但是当我尝试使用此代码时,数据成功更新本地和成功同步。

   @Override
public void addOrUpdateOrganisation(final String orgranisationJson) {
Realm realm = Realm.getDefaultInstance(); // need for update data
        realm.executeTransactionAsync(new Realm.Transaction() {
            @Override
            public void execute(Realm realm) {
                realm.createOrUpdateObjectFromJson(Organisation.class, orgranisationJson);
            }
        });
}

但是在mehtod“addOrUpdateOrganisation”中,我并不是一个接近的领域。

问题:

  • 我是否需要在每种方法(例如 addOrUpdateOrganisation )中通过 Realm.getDefaultInstance()获取Realm的实例?
  • 当我必须调用方法 realm.close 时?在每种方法中或仅在 onDestroy ()?

0 个答案:

没有答案