向Flutter项目添加Realm Android不起作用。

3
我正在尝试将Realm-android添加到我的Flutter项目中。根据Realm文档,我已经添加了gradle依赖项,但是当我尝试使用Realm类来扩展类时,仍然看不到realm包在我的android代码中。我也尝试了gradle同步、gradlew clean assemble,但仍然没有解决方案。
Gradle文件:/android/build.gradle
   repositories {
        ...
        jcenter()
        ...
    }
    dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
    classpath 'com.google.gms:google-services:3.1.0'
    classpath 'io.realm:realm-gradle-plugin:5.0.0'
}

/android/app/build.gradle

apply plugin: 'com.android.application'
apply plugin: 'realm-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

提前感谢。


我认为你无法从Dart中使用Realm。 - EpicPandaForce
True,不能直接从Dart中使用它,我正在尝试的是将其安装在Android端作为普通的Android应用程序,使用Realm-java来使用它,并使用Flutter通道发送和接收信号。 - Ganapat
嗯,有趣的假设,不管怎样,我有些惊讶它没有被添加进去。考虑到它似乎是常规的 com.android.application,应该可以工作。你尝试在 flutter.gradle 之后应用它了吗? - EpicPandaForce
正是我期望的,但它不起作用 ;( 我尝试改变“apply plugin”语句的位置并将其添加到文件末尾,但仍然无法工作,无论是app/build.gradle文件还是Flutter生成的根本原因,或者我可能犯了一些愚蠢的错误。我尝试创建一个新的纯Android项目,并按照领域文档添加相同的配置,一切都正常工作,所以我猜测Flutter生成的app/build.gradle很可能是原因。 - Ganapat
的确是个愚蠢的原因,我在Android Studio中导入了Flutter项目根目录,当我尝试仅导入android文件夹(flutter_root/android)时,一切都开始正常工作,Intellisense也开始捕捉Realm类,现在不确定是否将其添加为答案或删除问题。 - Ganapat
嗯,Flutter 相关的问题还不够多,你可以自己回答自己的问题 :D - EpicPandaForce
1个回答

2
在我的情况下,是一个愚蠢的原因导致了这个问题。不要在Android Studio中导入flutter项目根文件夹,而是只导入android(flutter_project_root_dir/android)特定的文件夹到Android Studio中。这为我解决了问题。希望这能为其他遇到类似问题的人节省一些时间。

你能在Flutter中使用Realm了吗? - hussainb
1
是的,我的意思是将本地 Realm 和 Flutter 集成后,我就能够通过本地 Realm 代码和 Flutter 平台通道来保存和读取数据。我通过 Flutter 平台通道发送要保存的数据,然后在 JAVA 中使用本地 Realm 代码执行保存/查询等操作。 - Ganapat
很好,自动同步机制是这样工作的吗? - hussainb
1
我没有检查过,但是我认为,这只是处理应用程序数据库特定部分的普通Android本机领域设置,我想,所有与正常普通Android应用程序一起工作的功能也将与此设置一起工作! - Ganapat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接