Как удалить с iphoneпленка


Как удалить с iphoneпленка

Как удалить с iphoneпленка

Как удалить с iphoneпленка



lang-php

13

23 июля 2017, 09:26

Добрый день. У меня не получается удалить из базы данных нужную запись, которая была ранее добавлена.

public class Receive extends RealmObject { private int ID; private String NAME; public int getID() { return ID; } public void setID(int ID) { this.ID = ID; } public String getNAME() { return NAME; } public void setNAME(String NAME) { this.NAME = NAME; } }

Я создал приватный метод, который отвечает за удаления.

private void deleteRealm(int deleteId) { final RealmResults<Receive> results = realm.where(Receive.class).equalTo("ID", deleteId).findAll(); realm.executeTransaction(new Realm.Transaction() { @Override public void execute(Realm realm) { results.deleteFromRealm(1); // Что сюда нужно передать, я не знаю. } }); }

Этот метод я привязал к обработчику.

Delete = new View.OnClickListener() { @Override public void onClick(View v) { int editId = v.getId(); deleteRealm(SityIDs[editId]); //Передаю ID записи. } };

Программа выдает ошибку, она связана в первую очередь с методом, который отвечает за удаление, после лог показывает, что ошибка возникала в обработчику Delete = new View.OnClickListener()

Я так-же пробовал этот метод

final RealmResults<Dog> results = realm.where(Dog.class).findAll(); realm.executeTransaction(new Realm.Transaction() { @Override public void execute(Realm realm) { // remove single match results.deleteFirstFromRealm(); results.deleteLastFromRealm(); // remove a single object Dog dog = results.get(5); // Но я не знаю, что сюда нужно передать dog.deleteFromRealm(); // Delete all matches results.deleteAllFromRealm(); } });

Ошибка

07-22 20:59:41.251 25759-25759/ru.profgrammist.javaandroid E/AndroidRuntime: FATAL EXCEPTION: main Process: ru.profgrammist.javaandroid, PID: 25759 Theme: themes:{} java.lang.NullPointerException: Attempt to invoke virtual method 'io.realm.RealmQuery io.realm.Realm.where(java.lang.Class)' on a null object reference at ru.profgrammist.javaandroid.Zakladka.deleteRealm(Zakladka.java:104) at ru.profgrammist.javaandroid.Zakladka.access0(Zakladka.java:26) at ru.profgrammist.javaandroid.Zakladka.onClick(Zakladka.java:69) at android.view.View.performClick(View.java:5204) at android.view.View$PerformClick.run(View.java:21156) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5466) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Answer 1

Прежде чем использовать реалм, нужно получить инстанс, т.е. примерно так:

public class MyActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Realm realm = Realm.getDefaultInstance(); try { // здесь используете realm... } finally { realm.close(); } } }

Ну или можно привязать это к жизненному циклу активити\фрагмента как-то так:

private Realm realm; @Override public void onResume() { realm = Realm.getDefaultInstance(); super.onResume(); } @Override public void onPause() { realm.close(); super.onPause(); }

Как удалить с базы данных Realm 3.5.0

ТОП-10

READ ALSO


Источник: http://hostciti.net/faq/java/kak-udalit-s-bazi-dannih-realm-3-5-0.html



Как удалить с iphoneпленка фото



Как удалить с iphoneпленка

Как удалить с iphoneпленка

Как удалить с iphoneпленка

Как удалить с iphoneпленка

Как удалить с iphoneпленка

Как удалить с iphoneпленка

Как удалить с iphoneпленка

Как удалить с iphoneпленка

Как удалить с iphoneпленка