我刚刚开始在iOS上使用Realm.io并尝试填充对象,但我得到以下内容:
Invalid value nil for property
如何使属性可选?
我正在查询带有objectsWhere的RLMArray,我得到一个RLMResults,但我需要一个RLMArray,结果是我的代码中的这一点.
private var data: RLMArray?
self.data = self.currentSubcategory!.datasheets // is a RLMArray
self.data = self.data!.objectsWhere("is_favourite = 1")
Run Code Online (Sandbox Code Playgroud) 我这样排序:
RealmResults<Show> shows = realm.where(Show.class).findAll();
shows.sort("venueTitle", RealmResults.SORT_ORDER_ASCENDING);
Run Code Online (Sandbox Code Playgroud)
如何按多个属性排序?添加另一个排序行只会完全重置结果的顺序.
我有以下RETROFIT API:
@POST("/payments")
Observable<Response> saveCreditCard(@Body CreditCard creditCard)
Run Code Online (Sandbox Code Playgroud)
CreditCard是一个RealmObject.
当我尝试使用我的API方法时:
CreditCard card = realm.createObject(CreditCard.class);
card.setWhateverField(...);
...
mApi.saveCreditCard(card)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(...);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
> retrofit.RetrofitError: com.fasterxml.jackson.databind.JsonMappingException: Realm access from incorrect thread. Realm objects can only be accessed on the thread they where created.
System.err? at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:400)
System.err? at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
System.err? at retrofit.RestAdapter$RestHandler$1.invoke(RestAdapter.java:265)
System.err? at retrofit.RxSupport$2.run(RxSupport.java:55)
System.err? at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
System.err? at java.util.concurrent.FutureTask.run(FutureTask.java:237)
System.err? at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
System.err? at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
System.err? at retrofit.Platform$Android$2$1.run(Platform.java:142)
System.err? at java.lang.Thread.run(Thread.java:818)
System.err? Caused by: java.lang.AssertionError: com.fasterxml.jackson.databind.JsonMappingException: Realm access …Run Code Online (Sandbox Code Playgroud) 是否有可能转换Results<T>为List<T>或不应该这样做?
在我的情况下,我有方法将List作为参数.我想用fetched objects(Results<T>)和计算对象(List<T>)调用此方法
通常我使用Realm作为:
RealmConfiguration config = new RealmConfiguration.Builder(applicationContext).deleteRealmIfMigrationNeeded().build();
Run Code Online (Sandbox Code Playgroud)
如何将包含数据的数据库添加到项目的assets文件夹中并读取它?
我在一个领域对象上设置一个属性与另一个领域对象是一个不同的类,但是我得到了错误:'value'不是avalid托管对象.
realmObject.setAnotherRealmObject(classInstance.returnAnotherRealmObjectWithValues())
Run Code Online (Sandbox Code Playgroud)
类实例接收anotherRealmObject构造函数,并使用来自小部件的值通过该方法返回它:
public ClassInstance(AnotherRealmObject anotherRealmObject){
mAnotherRealmObject = anotherRealmObject;
}
public AnotherRealmObject returnAnotherRealmObjectWithValues(){
mAnotherRealmObject.setId(RandomUtil.randomNumbersAndLetters(5));
mAnotherRealmObject.setName(etName.getText().toString());
return mAnotherRealmObject;
}
Run Code Online (Sandbox Code Playgroud)
我正在以正确的方式创建新的另一个领域对象(我认为):
mAnotherRealmObject = mRealmInstance.createObject(AnotherRealmObject.class);
Run Code Online (Sandbox Code Playgroud)
是因为我正在返回另一个因为传递引用而已被修改的另一个对象吗?
并添加依赖项和插件一切都很好但是当我把它
private void setUpRealmConfig(){
RealmConfiguration config = new RealmConfiguration.Builder(getApplicationContext()).deleteRealmIfMigrationNeeded().build();
Realm.setDefaultConfiguration(config);
}
Run Code Online (Sandbox Code Playgroud)
在= RealmConfiguration.Builder的部分.我收到此错误:
Builder(android.content.Context)'在'io.realm.RealmConfiguration.Builder'中不公开.无法从外部包访问
我不知道该怎么办
嗨我正在realm为我的应用程序使用数据库并使用roboelectric单元测试框架来执行单元测试.我看到realm是用本机c代码编写的,它有librealm-jni.so自己的功能文件.
我收到UnsatisfiedLinkError错误,读到robolectric不支持本机库的地方.我认为必须有某种方法来解决它.我尝试了使用Robolectric时如何加载.so的接受答案?但没有运气.
java.lang.UnsatisfiedLinkError: Can't load library: C:\Users\XS~1\AppData\Local\Temp\android-tmp-robolectric7796034244909642596\app_lib\realm-jni.dll.2.3.1
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at com.getkeepsafe.relinker.SystemLibraryLoader.loadPath(SystemLibraryLoader.java:29)
at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal(ReLinkerInstance.java:198)
at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary(ReLinkerInstance.java:136)
at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:70)
at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:57)
at io.realm.internal.RealmCore.loadLibrary(RealmCore.java:59)
at io.realm.Realm.init(Realm.java:187)
at com.xyz.helloworld.HelloWorldApplication.onCreate(HelloWorldApplication.java:17)
at org.robolectric.internal.ParallelUniverse.setUpApplicationState(ParallelUniverse.java:147)
at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:329)
at org.robolectric.RobolectricTestRunner.runChild(RobolectricTestRunner.java:259)
at org.robolectric.RobolectricTestRunner.runChild(RobolectricTestRunner.java:41)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.robolectric.RobolectricTestRunner$1.evaluate(RobolectricTestRunner.java:199)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:114)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:57)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:66)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) …Run Code Online (Sandbox Code Playgroud)