Articles of 领域

领域中不包含Java

如果我有一个原始值数组,我如何在RealmResults的.where()上运行.not()。contains()? 希望代码看起来像这样: results.where().not().contains(“id”, new int[] {1, 2, 3}) 或者我是否必须迭代所有这些结果并将它们单独取出?

无法使用领域编译Android应用程序

当我将realm.io库添加到我的Android应用程序并尝试运行应用程序时,我在编译期间收到此错误: 错误:任务’:compileDebugJava’的执行失败。 > java.lang.ClassCastException:com.sun.tools.javac.code.Symbol $ ClassSymbol无法强制转换为javax.lang.model.element.PackageElement 这是我的build.gradle: buildscript { repositories { mavenCentral() maven { url ‘http://download.crashlytics.com/maven’ } } dependencies { classpath ‘com.android.tools.build:gradle:0.13.2’ classpath ‘com.crashlytics.tools.gradle:crashlytics-gradle:1.+’ classpath ‘com.jakewharton.hugo:hugo-plugin:1.1.0’ } } apply plugin: ‘android’ apply plugin: ‘crashlytics’ apply plugin: ‘com.android.application’ apply plugin: ‘hugo’ repositories { mavenCentral() jcenter() maven { url ‘http://download.crashlytics.com/maven’ } } android { compileSdkVersion 19 buildToolsVersion […]

在领域db上实现一种forms的连接查询,而没有在struture中具有预定义的关系

我已经使用了SQL引擎和一些noSQL引擎以及indexdb,并且可以在不定义外键或其他内容的情况下跨数个表抓取数据。 我的问题是,是否可以进行查询以在Realm中跨对象表刮取数据而不在结构中定义任何特殊关系? 为了更好地expression自己,我将发布我想要用Realm实现的示例代码,以便您可以帮助我。 使用dexie(indexdb包装器)实现 db.quote_items.where(‘quote_id’).equals(quote_id).then(function(a){ db.products.where(‘id’).equals(quote_id.product_id).then(function(){ list.push({‘id’: a.id, ‘product_name’:a.product_name, ‘product_code’: a.product_code, ‘quantity’:a.quantity, ‘tax’:a.tax, ‘unit_price’:a.unit_price, ‘val_tax’:a.val_tax, ‘discount_val’:a.discount_val, ‘gross_total’:a.gross_total, ‘details ‘:b.details }); }).catch(function (e) { console.log(e); alert(“Sorry, Something went wrong”); }) }).catch(function (e) { console.log(e); alert(“Sorry, Something went wrong”);}) 在mysql中实现 SELECT quote_items.id AS id, quote_items.product_name AS product_name …… FROM quote_items, products WHERE quote_items.quote_id = quote_id AND products.id […]

Realm.io / Dagger / Databinding在同一个项目中

在通过gradle添加Realm.io作为依赖项后,我遇到了编译项目的问题。 无法find由dagger和数据绑定创建的生成文件。 如果我删除realm.io应用程序正确编译。 这是我的build.gradle apply plugin: ‘com.android.application’ apply plugin: ‘com.neenbedankt.android-apt’ apply plugin: ‘com.android.databinding’ android { compileSdkVersion 23 buildToolsVersion “23.0.2” defaultConfig { multiDexEnabled true applicationId “com.foo” minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName “1.0” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile ‘com.android.support:appcompat-v7:23.1.0’ […]

结合Firebase和Realm的崩溃 – 失败的解决方案:Lio / reactivex / Observable;

我正在尝试从Firebase下载对象并将它们存储在Realm中。 结合这两个优秀的库,我收到了崩溃。 我创建了一个非常简单的演示应用程序来说明我的问题。 在创建扩展RealmObject的对象时,Firebase似乎感到不安。 我可以通过删除RealmObject扩展来完成这项工作,但后来我必须维护两个相同的对象。 随着时间的推移,这变得复杂和令人沮丧,这远非理想。 火力地堡: FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference(“players”); myRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Log.d(TAG, “onDataChange: ” + dataSnapshot.getChildrenCount()); for (DataSnapshot snapshot : dataSnapshot.getChildren()) { //***CRASH here***** Player player = snapshot.getValue(Player.class); Log.d(TAG, “onDataChange: ” + player.getFirstname()); } } @Override public void onCancelled(DatabaseError databaseError) { Log.e(TAG, […]

Realm.io – 如何使用通配符%LIKE%进行查询

我正在尝试: mRealm .where(Contact.class) .equalTo(Contact.NAME, text, Case.INSENSITIVE) .findAllSortedAsync(Contact.NAME, Sort.ASCENDING); 结果: 未达到预期结果。 mRealm .where(Contact.class) .contains(Contact.NAME, text, Case.INSENSITIVE) .findAllSortedAsync(Contact.NAME, Sort.ASCENDING); 结果: 未达到预期结果。 预期结果: mRealm .where(Contact.class) .like(Contact.NAME, text, Case.INSENSITIVE) .findAllSortedAsync(Contact.NAME, Sort.ASCENDING);

如何在领域android数据库中存储java列表

我们如何在realm android数据库中存储java列表。 我尝试使用我的模型中存在的setter方法来存储它,但它不起作用,我在exception消息中得到“值’的每个元素’必须是有效的托管对象”。 public void storeNewsList(String categoryId, List newsList) { Realm realm = Realm.getDefaultInstance(); realm.beginTransaction(); NewsList newsListObj = realm.createObject(NewsList.class); newsListObj.setNewsList(new RealmList(newsList.toArray(new News[newsList.size()]))); newsListObj.setCategoryId(categoryId); realm.commitTransaction(); realm.close(); }

使用copyFromRealm发送副本时,Realm访问错误的线程exception

当流式域对象的副本而不是域引用并在Schedulers.IO线程上观察它时,会出现一个崩溃,其中包含着名的exception消息“Realm访问来自不正确的线程.F Realm对象只能在它们创建的线程中访问”。 该副本不应该是无线程的吗? 我可以从一个线程生成它并在不同的线程上处理它吗? 这就是我创建可观察的方式。 public Observable getAllBrands() { return realm.where(Brand.class) .findAll() .asObservable() .flatMap(Observable::from) .map(brand -> realm.copyFromRealm(brand)); } 以下是我观察getAllBrands()的方法。 Observable brandObservable = dataManager.getAllBrands(); brandObservable.observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(new Observer() { @Override public void onCompleted() { Log.d(“reactive”, “completed”); } @Override public void onError(Throwable e) { Log.d(“reactive”, e.getMessage()); } @Override public void onNext(Brand brand) { dataSource.add(brand.getName()); myAdapter.notifyDataSetChanged(); } });

从Sqlite迁移到Realm(Android)

我现有的应用数据在SQlite上。 我正在尝试将数据从Sqlite迁移到Realm。 我谷歌如何迁移数据,但没有find任何与此相关的解决方案。 我计划推出现有应用的更新版本。 在更新应用程序时,数据必须迁移到Realm,并且必须删除现有的Sqlite数据库。 如果可能,请与解决方案分享一些想法。

如何创建包含RealmList的新RealmObject

我需要将我的一个模型对象(使用Retrofit从Json自动填充)转换为Realm对象。 起初,我的代码是new RealmPoll()而不是realm.createObject(RealmPoll.class) 。 (就像这个问题我得到了NullPointerException )所以我解决了这个问题。 但我找不到复制RealmList的方法。 我在官方的Realm网站教程中找不到任何使用RealmLists创建RealmObjects的例子 只有Realm才能创建托管的RealmLists。 Managed RealmLists将在基础Realm更新时自动更新内容,并且只能使用RealmObject的getter进行访问。 这让我相信它在某种程度上是不可能的? 但这是一项非常简单的任务。 我不知道如何解释文档的含义。 有没有办法可以将一个对象(如下面的RetrofitPoll)转换为一个领域对象(如下面的RealmPoll),如果它包含一个列表? 一个函数说明了我的问题: private RealmPoll convertRetrofitPollToRealmPoll(Realm realm, RetrofitPoll retrofitPoll) { RealmPoll realmPoll = realm.createObject(RealmPoll.class); //<—– fixed, used to be "new RealmPoll()". //Convert List RealmList realmAnswers = new RealmList(); //<—– How to do same thing here? for(RetrofitAnswer retrofitAnswer : retrofitPoll.getAnswers()) { realmAnswers.add(convertRetrofitAnswerToRealmAnswer(retrofitAnswer)); } […]