标签: realm

如何将RealmResults对象转换为RealmList?

我有一个RealmResults <Student>对象.我想将它转换为RealmList <Student>对象.有什么建议?

android realm

23
推荐指数
4
解决办法
2万
查看次数

Realm vs Sqlite用于移动开发

作为一个Xamarin开发人员,我曾经使用Sqlite作为移动数据库,
最近Realm出现了.
关于它们在性能和易用性方面的差异的任何想法..等等?

使用任何一种方法的最佳做法是什么?

database sqlite mobile realm xamarin

23
推荐指数
2
解决办法
3万
查看次数

更新Object时防止Realm覆盖属性

我在iOS中为realm对象设置了一个REST API.但是我发现在我的对象中创建一个喜欢的标志有一个问题.我已经创建了一个最喜欢的bool,但每次从API更新对象时,它都会将收藏夹设置为默认值false.在这里,我希望此标志不会更新,因为只有本地存储了收藏夹.我怎样才能做到这一点?

class Pet: Object{
    dynamic var id: Int = 1
    dynamic var title: String = ""
    dynamic var type: String = ""
    dynamic var favorite: Bool = false


    override class func primaryKey() -> String {
        return "id"
    }
}
Run Code Online (Sandbox Code Playgroud)

CreateOrUpdate

let pet = Pet()
pet.id = 2
pet.name = "Dog"
pet.type = "German Shephard"


try! realm.write {
    realm.add(pet, update: true)
}
Run Code Online (Sandbox Code Playgroud)

realm ios swift

22
推荐指数
2
解决办法
5454
查看次数

领域中的动态属性

我开始在iOS 8或更高版本上使用Realm并查看Realm中的文档.我注意到所有属性都在dynamic它们前面有关键字.Realm需要这个吗?我已经阅读了关于关键字的Apple文档,可以在这里找到.https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html

realm ios swift2

22
推荐指数
1
解决办法
5529
查看次数

正确的Realm Migration Android方式

我们为我们的应用程序使用Realm.我们的应用已经发布测试版.现在我想在我们的一个领域对象中添加一个字段.所以我写了RealmMigration,我也写了一个.这里的问题是如何将此Realm迁移应用到我的应用程序.我使用Realm.getInstance()在我想要的时候获取领域实例.请记住,Realm.getInstance()每次都在整个应用程序中使用,我想访问Realm数据库.

那么,我有点询问如何应用这种迁移?任何线索都可能有所帮助.谢谢.

我的RealmMigration如下.

public class RealmMigrationClass implements RealmMigration {
    @Override
    public void migrate(DynamicRealm realm, long oldVersion, long newVersion) {
        if(oldVersion == 0) {
            RealmSchema sessionSchema = realm.getSchema();

            if(oldVersion == 0) {
                RealmObjectSchema sessionObjSchema = sessionSchema.get("Session");
                sessionObjSchema.addField("isSessionRecordingUploading", boolean.class, FieldAttribute.REQUIRED)
                        .transform(new RealmObjectSchema.Function() {
                            @Override
                            public void apply(DynamicRealmObject obj) {
                                obj.set("isSessionRecordingUploading", false);
                            }
                        });


                sessionObjSchema.setNullable("isSessionRecordingUploading",false);
                oldVersion++;
            }

        }
    }

}

public class Session extends RealmObject {

    @PrimaryKey
    private String id;
    @Required
    private Date date;
    private double latitude;
    private double longitude;
    private String location; …
Run Code Online (Sandbox Code Playgroud)

android realm realm-migration

22
推荐指数
1
解决办法
2万
查看次数

领域中的可选Int

我想在Realm中使用一个可选的Int并且我想到了一个老错误.

dynamic var reps: Int? = nil
Run Code Online (Sandbox Code Playgroud)

错误

'Property cannot be marked dynamic because its type cannot be represented in Objective-C'
Run Code Online (Sandbox Code Playgroud)

我使用Realm 0.96.1和XCode 7.1

我在Realm文档中理解它表示Int不支持Optional但是https://twitter.com/realm/status/656621989583548416.这是来自Realm twitter,这就是为什么我感到困惑.是Optional Int支持还是仍然没有?

int realm optional swift swift2

21
推荐指数
1
解决办法
1万
查看次数

如何使用RealmSwift存储字典?

考虑以下型号:

class Person: Object {
    dynamic var name = ""
    let hobbies = Dictionary<String, String>()
}
Run Code Online (Sandbox Code Playgroud)

我想在境界去购买类型的对象[String:String],我从Alamofire请求得到了,但不能因为hobbies 通过定义let根据RealmSwift文档,因为它是一个List<T>/ Dictionary<T,U>种类型.

let hobbiesToStore: [String:String]
// populate hobbiestoStore
let person = Person()
person.hobbies = hobbiesToStore
Run Code Online (Sandbox Code Playgroud)

我也试图重新定义,init()但总是最终导致致命的错误.

如何在RealSwift中简单地复制或初始化Dictionary?我在这里错过了一些小事吗?

dictionary realm ios swift

21
推荐指数
4
解决办法
1万
查看次数

如何使用Realm排序?

我不知道如何使用Realm进行排序.我目前的代码是.

data = realm.objects(WorkoutSet)
data = data!.sorted("date")
Run Code Online (Sandbox Code Playgroud)

我要排序日期Int从高数量低的数字.文档需要更多信息,GitHub链接会抛出一条404消息.

database sorting realm swift

21
推荐指数
1
解决办法
3万
查看次数

更新到 Android Studio 3.6 后,应用程序在运行时崩溃

我已经尝试过使缓存无效,清理项目,重新安装应用程序。我没有使用数据绑定。

我正在使用Realm 插件 io.realm:realm-gradle-plugin:5.3.1

以下是一些相关信息build.gradle

compileSdkVersion 29
buildToolsVersion 29.0.3

implementation "androidx.appcompat:appcompat:1.1.0"
Run Code Online (Sandbox Code Playgroud)

Android Gradle 插件:3.6.0
Gradle:5.6.4

这是日志:

java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/appcompat/R$drawable;
    at androidx.appcompat.widget.AppCompatDrawableManager$1.<init>(AppCompatDrawableManager.java:63)
    at androidx.appcompat.widget.AppCompatDrawableManager.preload(AppCompatDrawableManager.java:57)
    at androidx.appcompat.app.AppCompatDelegateImpl.<init>(AppCompatDelegateImpl.java:328)
    at androidx.appcompat.app.AppCompatDelegateImpl.<init>(AppCompatDelegateImpl.java:278)
    at androidx.appcompat.app.AppCompatDelegate.create(AppCompatDelegate.java:221)
    at androidx.appcompat.app.AppCompatActivity.getDelegate(AppCompatActivity.java:543)
    at androidx.appcompat.app.AppCompatActivity.attachBaseContext(AppCompatActivity.java:98)
    at android.app.Activity.attach(Activity.java:6909)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2759)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2904)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1596)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6600)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:772)
 Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.appcompat.R$drawable" on path: DexPathList[[zip file "/data/app/com.develop-dkwyyr2-QVmFBqzVHNDZtQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.develop-dkwyyr2-QVmFBqzVHNDZtQ==/lib/arm64, /data/app/com.develop-dkwyyr2-QVmFBqzVHNDZtQ==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
    at …
Run Code Online (Sandbox Code Playgroud)

android realm android-studio android-gradle-plugin

20
推荐指数
1
解决办法
2722
查看次数

Android上的领域 - 如何通过ID列表选择多个对象(@PrimaryKey)?

我正在使用Realm数据库构建一个Android应用程序.

我有一个RealmObject子类Article,有一个id字段(它的和int,也是一个@PrimaryKey).我想传递给查询列表intS(一Set,int[]或其他)的文章ID和只检索文章.

在SQL中会是这样的:

SELECT *
FROM `table`
where ID in (5263, 5625, 5628, 5621) 
Run Code Online (Sandbox Code Playgroud)

我已经看到在这个StackOverflow问题中可以在iOS中执行此操作.

我怎样才能在Android中执行此操作?谢谢!

编辑:只是为了通知,我也在这里的GitHub回购中询问了这个问题.

android realm

19
推荐指数
1
解决办法
8250
查看次数