标签: realm

Realm 数据库类表有限制吗?

我刚刚发现领域有 250 个对象的限制,有什么办法可以超过这个限制吗

这是来自 stetho 的图像,用于检查我的数据库

android realm stetho

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

在使用预定义领域数据库的不同活动中使用领域实例

我成功地将预定义的领域数据库添加到我的应用程序并获取数据

copyBundledRealmFile(this.getResources().openRawResource(R.raw.test), 
"test");

    RealmConfiguration config1 = new RealmConfiguration.Builder(this)
            .name("test")
            .schemaVersion(1)
            .migration(new Migration())
            .build();
    realm = Realm.getInstance(config1);
realm.close();

private String copyBundledRealmFile(InputStream inputStream, String outFileName) {
    try {
        File file = new File(this.getFilesDir(), outFileName);
        FileOutputStream outputStream = new FileOutputStream(file);
        byte[] buf = new byte[1024];
        int bytesRead;
        while ((bytesRead = inputStream.read(buf)) > 0) {
            outputStream.write(buf, 0, bytesRead);
        }
        outputStream.close();
        return file.getAbsolutePath();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用时如何获取领域实例的问题

       realm = Realm.getDefaultInstance();
Run Code Online (Sandbox Code Playgroud)

给我空数据如何在应用程序中获取实例

android realm

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

来自错误线程的Java android Realm访问

嗨,我在 onCreate() 上创建了一个 Realm 接下来我想class CheckerThread extends AsyncTask<Void, String, Boolean>在 doInBackground中公开存储一个日期,但我有一个

java.lang.IllegalStateException:来自不正确线程的领域访问。Realm 对象只能在创建它们的线程上访问。

onCreate 我有这个:

realm = RealmController.with(this).getRealm();
Run Code Online (Sandbox Code Playgroud)

接下来在 AsynTask 中,我下载了一个数据,我想保存它,我想在 doInBackground 中执行此操作,但是当我执行此操作时,我有:

Caused by: java.lang.IllegalStateException: Realm access from incorrect thread. Realm instance can only be closed on the thread it was created.
Run Code Online (Sandbox Code Playgroud)

我在 doInBackground 上这样做,但它没有帮助:

try {
                                    realm = RealmController.with(getApplication()).getRealm();
                                    RealmController.with(getApplication()).save(data);
                                }
                                finally {
                                    realm.close();
                                }
Run Code Online (Sandbox Code Playgroud)

一个领域控制器;

public class RealmController {

    private static RealmController instance;
    private final Realm realm;

    public RealmController(Application application) {
        realm = Realm.getDefaultInstance();
    } …
Run Code Online (Sandbox Code Playgroud)

java multithreading android realm

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

领域异步线程 Swift 3

使用 Xcode-8.2.1、Swift-3.0.2、RealmSwift-2.2.0、iOS-Simulator-10:

尝试使用 Realm-Object 编写视图模型时,我无法在另一个线程中创建 returnArray。问题是对先前创建的领域对象的访问失败(很可能是由于后台线程访问??)。

任何人都可以告诉我以下代码有什么问题(见下文):重要提示:在“getEntries-completionHandler”之前调用了“createDataEntries()-method”(可以通过正确的 SimPholders realmobject-entry 看到) )!因此“类别”设置为“爱”(见代码)

import Foundation
import RealmSwift

class MVVMCBalancesModel: BalancesModel
{

    fileprivate var entries = [BalancesDataEntry]()
    let realm = try! Realm()

    init() {
        self.createDataEntries()
    }

    fileprivate func createDataEntries() {

        let myBalance = BalancesDataEntry()
        myBalance.index = 0
        myBalance.category = "Love"  // !!!!!!! Here the category is filled

        try! self.realm.write {

            self.realm.deleteAll()
            self.realm.add(myBalance)
        }
    }

    func getEntries(_ completionHandler: @escaping (_ entries: [BalancesDataEntry]) -> Void)
    {
        // Simulate Aysnchronous data access
        DispatchQueue.global().async {

            var returnArray: …
Run Code Online (Sandbox Code Playgroud)

asynchronous realm swift

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

迭代对象的属性(在 Realm 中,也可能不在)

我正在开发一个使用 Realm 作为数据库的项目(稍后会介绍)。我刚刚发现了键值编码,我想用它来将 TSV 表转换为对象属性(使用表中的列标题作为键)。现在它看起来像这样:

    let mirror = Mirror(reflecting: newSong)
    for property in mirror.children {
        if let index = headers.index(of: property.label!) {
            newSong.setValue(headers[index], forKey: property.label!)
        } else {
            propertiesWithoutHeaders.append(property.label!)
        }
    }
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有镜像的情况下迭代属性?我真的可以发誓,我在 Realm 文档(或者甚至在 Apple 的 KVC 文档中)中读到过,您可以做类似的事情for property in Song.propertiesfor property in Song.self.properties实现同样的事情。

除了效率更高一点之外,我想这样做的主要原因是因为在同一个地方我认为我读过这篇文章,我认为他们说迭代(或 KVC?)仅适用于字符串、整数、布尔值和日期,因此它会自动跳过作为对象的属性(因为您无法以相同的方式设置它们)。上面的代码实际上是我的代码的简化,在实际版本中,我目前正在跳过这样的对象:

let propertiesToSkip = ["title", "artist", "genre"]
for property in mirror.children where !propertiesToSkip.contains(property.label!) {
...
Run Code Online (Sandbox Code Playgroud)

我想象过这.properties件事吗?或者,有没有办法以这种方式进行迭代,自动跳过对象/类而不必像我上面那样命名它们?

谢谢 :)

key-value-coding realm swift

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

Realm 中的区分大小写过滤器

我想要一个我想在其中执行搜索的项目列表。我希望以区分大小写的顺序根据查询过滤项目。例如,如果用户搜索牛奶,订单应该是牛奶牛奶黄油牛奶黄油牛奶下面是我当前的查询,但由于我添加了 Case.Insesitive,它根据表中项目的位置给我任何随机顺序。

  mRealm.where(Product.class).contains("productTags.name", tag,Case.INSENSITIVE).findAll();
Run Code Online (Sandbox Code Playgroud)

android realm

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

如何在反应领域按日期查询?

我有一个名为visitDetails的表,我查询如下,

realm
.objects("visitDetails")
.filtered("visitDate='"+new Date(response.date)+"' AND chemistId='"+response.chemist_id+"'");
Run Code Online (Sandbox Code Playgroud)

我之前已经将visitDate保存为日期对象,所以我也按日期对象进行查询。然而,我得到的错误说,

错误:您必须传入日期参数​​进行比较

但我已经在传递一个日期参数......

新日期( response.date )

,其中 response.date 以毫秒为单位。

javascript date realm react-native

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

制作符合 Codable 的对象的(深层)副本

我有一个对象,它Object是 Realm 的子类,并且Codable在与 API 交谈时符合JSON 的要求。

如何利用Codable协议制作深度副本(包括子对象)?

realm ios swift codable

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

Realm React Native:如何在某些条件下从对象的嵌套数组中删除元素

我是 React Native 的新手,并试图将 Realm 集成为客户端数据库。我有 2 个模式:

export const CAR_SCHEMA = {
  name: 'Car',
  properties: {
    color: 'string',
    model: 'string',
  }
};

export const PERSONS_SCHEMA = {
  name: 'Person',
  primaryKey: 'id',
  properties: {
    id: 'int',
    firstName: 'string',
    lastName: 'string'
    cars: 'Cars[]'
  }
};
Run Code Online (Sandbox Code Playgroud)

我的问题基本上是指如何从 Car.model='Honda' 的“人”中删除“汽车”?我找不到任何关于从对象的嵌套数组中删除元素的文档。

realm react-native realm-mobile-platform

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

无法将“UITableViewCell”(0x1096e3580)类型的值转换为“SwipeCellKit.SwipeTableViewCell”(0x106d231d0)?

我有一个 TableVC,它有类别,当您点击一个类别时,它会将您带到其中的项目。但是当我这样做时,当应用程序崩溃时,我会得到以下多个错误分组:

1.

初始化 newrealm 时出错,错误域=io.realm 代码=1“提供的架构版本 0 小于上次设置的版本 1。” UserInfo={NSLocalizedDescription=提供的架构版本 0 小于上次设置的版本 1。,错误代码=1}

2.

2018-08-01 12:56:06.152225-0400 Todoey[35380:4690261] Interface Builder 文件中的未知类 SwipeTableViewCell。

3.

无法将“UITableViewCell”(0x1096e3580)类型的值转换为“SwipeCellKit.SwipeTableViewCell”(0x106d231d0)。

4.

2018-08-01 12:56:06.153831-0400 Todoey[35380:4690261] 无法将“UITableViewCell”(0x1096e3580)类型的值转换为“SwipeCellKit.SwipeTableView6d”(0x100261)。

我已经按照之前许多问题中列出的步骤进行了操作,但没有运气

这是我得到一个 -Thread 1: 信号 SIGABRT-

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! SwipeTableViewCell
    cell.delegate = self
    return cell
}
Run Code Online (Sandbox Code Playgroud)

请帮忙

在此处输入图片说明

realm uitableview ios swift

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