저는 Realm 데이터베이스로 응용 프로그램을 개발하고 있습니다. 나는 그 응용 프로그램을 성공적으로 개발했고, 오늘 나는 그것에 또 다른 부분을 추가했다. 그 동안 오브젝트 확장 된 RealmObject를 변경해야했습니다. 그 후에 나는 오류가있어 그 변화를 되돌립니다. 그러나 그 후에도 같은 오류가 반복해서 발생합니다. , PID com.foxastudios.stopnosocomials : 26,320 java.lang.NullPointerException이 여기 내 코드입니다 :Android에서 영역 개체를 저장하는 중 오류가 발생했습니다.
private String createObserver() {
final Observer observer = new Observer();
Log.d("UUID",observer.getUuid());
observer.setObserver_id(getNewObserverID());
observer.setDevice_id(DEVICE_ID);
observer.setName(userName.getText().toString());
observer.setPhone(userPhone.getText().toString());
observer.setCategory(userCategory.getSelectedItem().toString());
observer.setHospital(userHospital.getSelectedItem().toString());
observer.setSection(userSection.getSelectedItem().toString());
observer.setUpdated_date(DATE);
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
realm.copyToRealmOrUpdate(observer);
}
});
return observer.getUuid();
}
그리고 여기에 내가지고있어 오류 발생 :
치명적인 예외 : 주요 프로세스 : ObserverRealmProxy.java:239 ( io.realm.ObserverRealmProxy.realmSet $의 UUID에 가상 메서드에 null의 객체 참조 에 'io.realm.BaseRealm io.realm.ProxyState.getRealm $ 영역을() 호출 시도 에서 com.foxastudios.stopnosocomials.models.Observer.setUuid (Observer.java:107 AT) ) io.realm.ObserverRealmProxy에서 com.foxastudios.stopnosocomials.models.Observer. (Observer.java:26) . io.realm.DefaultRealmModuleMediator.newInstance (DefaultRealmModuleMediator.java:145)에서 (ObserverRealmProxy.java:0) io.realm.BaseRealm.get (BaseRealm.java:603)에서 io.realm.Realm.createObject에서 (Realm.java:709) at io.realm.ObserverRealmProxy.copy (ObserverRealmProxy.java:626) at,363,210 io.realm.ObserverRealmProxy.copyOrUpdate io.realm.Realm.copyOrUpdate (Realm.java:1272)에서 io.realm.DefaultRealmModuleMediator.copyOrUpdate (DefaultRealmModuleMediator.java:175)에서 (ObserverRealmProxy.java:616) 에서 io.realm.Realm.executeTransaction에서 com.foxastudios.stopnosocomials.SessionActivity의 $의 3.execute (SessionActivity.java:143) 에서 io.realm.Realm.copyToRealmOrUpdate (Realm.java:747) (Realm.java:1065) at com.foxastudios.stopnosocomials.SessionActivity.createObserver (SessionActivity.java:140) at com.foxastudios.stopnosocomials.SessionActivity.access $ 300 (SessionActivity.java:29) 에 com.foxastudios.stopnosocomials.SessionActivity $ 2.onClick (SessionActivity.java:101) android.view.View.performClick (View. java : 4756) android.view.View $ PerformClick.run (View.java:19749) (android.os.Handler.handleCallback (Handler.java:739) at android.os.Handler.dispatchMessage (Handler. java : 95) android.os.Looper.loop (Looper.java:135)에서 android.app.ActivityThread.main (ActivityThread.java:5221) at java.lang.reflect.Method.invoke (네이티브 메소드) com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:899) com.android.internal에서 에서 java.lang.reflect.Method.invoke (Method.java:372) 에서 . os.ZygoteInit.main (ZygoteInit.java : 694)
Observer 객체에서 null 값을 몇 번 확인했습니다. 그러나 모든 값이 올바른지 확인하고 예외없이 때까지
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
realm.copyToRealmOrUpdate(observer);
}
});
영역에서 마이그레이션을 구현 했습니까? –
아니요 이전 데이터 구조로 다시 변경했습니다. 이전 데이터베이스가없는 새로운 장치에서도 오류가 발생했습니다. –
어디서 Uuid를 설정 했습니까? Observer 객체 생성자에 –