我有一个领域的问题,我尝试填充领域与我的数据我从json得到它,并解析json和每件事情准备就绪,我使用它,但它坠毁我的应用程序,这是我的代码Realm PrimaryKey约束异常
private void putDataInRealm(ArrayList<Movie> resultObj) {
realm.beginTransaction();
for (Movie item : resultObj) {
movieDb = realm.createObject(MovieDb.class);
movieDb.setMovieID(item.getId());
movieDb.setTitle(item.getTitle());
movieDb.setDate(item.getDate());
movieDb.setOverview(item.getOverview());
movieDb.setRate(item.getRate());
movieDb.setVote(item.getVote());
movieDb.setBackdrop_path(item.getBackdrop());
}
realm.commitTransaction();
}
知道我下载的境界,我作出这样
RealmConfiguration configuration = new RealmConfiguration.Builder(this).name("Movie_data_base.realm").build();
Realm.setDefaultConfiguration(configuration);
我的错误我的配置是
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.massive.movieapp, PID: 27784
io.realm.exceptions.RealmPrimaryKeyConstraintException: Value already exists:
at io.realm.internal.Table.throwDuplicatePrimaryKeyException(Table.java:675)
at io.realm.internal.Table.addEmptyRow(Table.java:404)
at io.realm.Realm.createObject(Realm.java:696)
at com.massive.movieapp.FragmentForActivity.putDataInRealm(FragmentForActivity.java:135)
at com.massive.movieapp.FragmentForActivity.onPostExcuteCallBack(FragmentForActivity.java:150)
at com.massive.movieapp.Url_cont.onPostExecute(Url_cont.java:128)
at com.massive.movieapp.Url_cont.onPostExecute(Url_cont.java:25)
at android.os.AsyncTask.finish(AsyncTask.java:651)
at android.os.AsyncTask.-wrap1(AsyncTask.java)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:668)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
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)
我的设备是nexus 7 api 23
当我把realm.insertOrUpdate(movieDb); android studio说不能解决这个问题 –
你使用的是什么版本的realm?这是最新的吗?它必须是至少1.1.0方法是在那里https://realm.io/docs/java/2.2.0/api/或者,也许MovieDb不扩展RealmObject或RealmModel? – maciekjanusz
MovieDb正在扩展RealmObject,我的领域是io.realm:realm-android:0.84.1 –