相关疑难解决方法(0)

当Realm在NotificationListenerService中更新时,不会调用RealmChangeListener

我在扩展的NotificationListenerService上进行Realm插入,如下所示:

public class NLService extends NotificationListenerService {

    @Override
    public void onNotificationPosted(StatusBarNotification sbn) {

        // building realmObject here

        mRealm = Realm.getDefaultInstance();
        RealmHelper.saveObj(myRealmObject, mRealm);
    //  mRealm.waitForChange(); / mRealm.refresh();
        mRealm.close();
    }
}


public class RealmHelper {

    public static RealmModel saveObj(RealmObject realmObject, Realm realm) {
        realm.beginTransaction();
        RealmObject newRealmObject = realm.copyToRealm(realmObject);
        realm.commitTransaction();
        return newRealmObject;
    }
}
Run Code Online (Sandbox Code Playgroud)

使用领域比v0.88.3更新的,不是单一的RealmChangeListener(RCL如果有的话被插入)被调用NLService.

我试着将rcl直接附加到Realm,RealmResults并且RealmObject没有任何作用.

例如,应用程序具有简单的rcl RealmResults<myRealmObject>.size()和几个RecyclerAdapter,并且RealmRecyclerViewAdapter从不调用rcl内部.

然而,重新运行查询起作用并且显示"缺失数据".此外,如果在ui-或任何其他线程上插入了任何内容,则会调用rcl并显示"缺少数据".

我在Realm 0.88.3上呆了好几个月,因为我无法使用任何更新的Realm版本.在NLService mRealm.refresh();中调用了0.88.3,这在新版本中不可用并且.waitForChange无休止地阻塞.

的Manifest.xml: …

android realm

5
推荐指数
1
解决办法
3535
查看次数

在 Android 项目中使用 Realm 仅支持 armeabi

我正在尝试使用领域。我设置了 build.gradle 并在应用程序启动时调用了 Realm.init(context)。

问题是,应用程序在启动时崩溃。

这是日志:

java.lang.RuntimeException: Unable to create application com.test.android com.getkeepsafe.relinker.MissingLibraryException: lib/armeabi/librealm-jni.so
                                                                         at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5406)
                                                                         at android.app.ActivityThread.-wrap2(ActivityThread.java)
                                                                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
                                                                         at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                         at android.os.Looper.loop(Looper.java:154)
                                                                         at android.app.ActivityThread.main(ActivityThread.java:6119)
                                                                         at java.lang.reflect.Method.invoke(Native Method)
                                                                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                                                                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
                                                                      Caused by: com.getkeepsafe.relinker.MissingLibraryException: lib/armeabi/librealm-jni.so
                                                                         at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary(ApkLibraryInstaller.java:85)
                                                                         at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal(ReLinkerInstance.java:180)
                                                                         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)
Run Code Online (Sandbox Code Playgroud)

该项目使用另一个仅支持armeabi. 这就是为什么我添加了 abiFilter

ndk { abiFilters "armeabi" }

在此处添加其他值将导致该库崩溃。

有没有办法只将 Realm 用于“armeabi”?

android realm android-ndk

5
推荐指数
3
解决办法
4610
查看次数

标签 统计

android ×2

realm ×2

android-ndk ×1