- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在考虑将我的 Android 应用程序从 Firebase DB 切换到 Realm.io。
根据我的阅读 - https://realm.io/docs/java/latest/#getting-started :
We do not support Java outside of Android at the moment.
对于这样一个(据说)成熟的库来说,这似乎是一个奇怪的限制。
我认为这可能会复杂化,例如自动测试,要求在设备/模拟器上运行测试,这会大大降低速度。
真的不能在Android之外使用吗?
这个限制的原因是什么?
真的有我想的那么糟糕吗?
如果我想让一些辅助服务器应用程序(用 Java 编写)在云端某处运行,例如AppEngine,连接到 Realm 数据库。是否排除了该选项?
有哪些解决方法,例如用于测试和服务器端 Java?
对于后一个目的 - 是否支持 NodeJS 服务器端应用程序?
最佳答案
That seems like an odd limitation for such a (supposedly) mature library.
如果您考虑到 Realm 提供了自己的原生核心和为 Android NDK 编写的 JNI 包装器这一事实,那么这个限制并不奇怪;并且它还没有与它分离以使其与平台无关,因此例如在某些地方依赖于 Android 特定的东西 - 例如,通知,使用“Looper”作为其特定的事件循环实现。
技术上,the realm-java
binding has plans to support Java outside of Android, but it currently does not .此时您应该将其更多地视为 realm-android
而不是 realm-java
。
当时的 Realm-Core 还不支持 UWP 和 Windows,尽管现在 realm-dotnet
项目也适用于 Windows。尽管如此,从 Android 中分离 Realm-Java 的实现还是很困难的。
I'm thinking that this could complicate e.g. automatic testing, requiring tests to be run on device/emulator, slowing things down a lot.
为了测试 Realm 特定的行为,是的。
要通过单元测试测试您应用中的其他内容,否。你只需要正确的设计,我想还有一些模拟。
Is it really the case that it cannot be used outside of Android?
它作为本地数据库在 iOS 和 Android 上运行。
自 this article from Nov 16 2016 起,它还可以作为本地服务器端数据库在 Linux 上运行,通过 NodeJS 使用与 React-Native Realm API 相似(相同?)的 API。
您还可以在任何您喜欢的 Linux 或 MacOS 机器上免费运行 Realm Object Server (ROS)。
然后你可以使用sync API
连接到所述ROS,并自动将与用户关联的Realm同步到ROS。这就是您可以免费使用 ROS 做的事情。
有了
Enterprise
Professional Edition 及其价格,您还可以(在服务器端)读/写 Sync Realms,并通过 NodeJS Realm API 监听改变 Sync Realm 的事件。
Is it really as bad as I think?
这取决于你自己的解释。
What if I want to have some auxiliary server app (written in Java) running somewhere in the cloud, e.g. AppEngine, to connect to the realm DB. Is that option excluded?
您的 Java 应用程序目前无法与服务器端的 Realm 通信。
仅限 NodeJS。
即便如此,自动将设备之间的所有数据更新到 ROS 以反射(reflect) ROS 中的任何内容的“同步”Realm 也是一项付费功能。
目前Realm-Java基本上只支持Android。正如文档中所说。
至于通过 NodeJS API 与 Linux 上服务器端的本地 Realm 通信,当然可以。
For the latter purpose - is NodeJS server-side app supported?
NodeJS 能够写入 Linux 机器上的 Realms。可能还有 Mac 操作系统。
免费版仅限本地 Realm。付费版本是通过 ROS 同步 Realm 的东西。
关于java - Realm.io - 在 Android 之外使用(在 Java 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41576589/
我最近在/ drawable中添加了一些.gifs,以便可以将它们与按钮一起使用。这个工作正常(没有错误)。现在,当我重建/运行我的应用程序时,出现以下错误: Error: Gradle: Execu
Android 中有返回内部存储数据路径的方法吗? 我有 2 部 Android 智能手机(Samsung s2 和 s7 edge),我在其中安装了一个应用程序。我想使用位于这条路径中的 sqlit
这个问题在这里已经有了答案: What's the difference between "?android:" and "@android:" in an android layout xml f
我只想知道 android 开发手机、android 普通手机和 android root 手机之间的实际区别。 我们不能从实体店或除 android marketplace 以外的其他地方购买开发手
自Gradle更新以来,我正在努力使这个项目达到标准。这是一个团队项目,它使用的是android-apt插件。我已经进行了必要的语法更改(编译->实现和apt->注释处理器),但是编译器仍在告诉我存在
我是android和kotlin的新手,所以请原谅要解决的一个非常简单的问题! 我已经使用导航体系结构组件创建了一个基本应用程序,使用了底部的导航栏和三个导航选项。每个导航选项都指向一个专用片段,该片
我目前正在使用 Facebook official SDK for Android . 我现在正在使用高级示例应用程序,但我不知道如何让它获取应用程序墙/流/状态而不是登录的用户。 这可能吗?在那种情
我在下载文件时遇到问题, 我可以在模拟器中下载文件,但无法在手机上使用。我已经定义了上网和写入 SD 卡的权限。 我在服务器上有一个 doc 文件,如果用户单击下载。它下载文件。这在模拟器中工作正常但
这个问题在这里已经有了答案: What is the difference between gravity and layout_gravity in Android? (22 个答案) 关闭 9
任何人都可以告诉我什么是 android 缓存和应用程序缓存,因为当我们谈论缓存清理应用程序时,它的作用是,缓存清理概念是清理应用程序缓存还是像内存管理一样主存储、RAM、缓存是不同的并且据我所知,缓
假设应用程序 Foo 和 Eggs 在同一台 Android 设备上。任一应用程序都可以获取设备上所有应用程序的列表。一个应用程序是否有可能知道另一个应用程序是否已经运行以及运行了多长时间? 最佳答案
我有点困惑,我只看到了从 android 到 pc 或者从 android 到 pc 的例子。我需要制作一个从两部手机 (android) 连接的 android 应用程序进行视频聊天。我在想,我知道
用于使用 Android 以编程方式锁定屏幕。我从 Stackoverflow 之前关于此的问题中得到了一些好主意,并且我做得很好,但是当我运行该代码时,没有异常和错误。而且,屏幕没有锁定。请在这段代
文档说: android:layout_alignParentStart If true, makes the start edge of this view match the start edge
我不知道这两个属性和高度之间的区别。 以一个TextView为例,如果我将它的layout_width设置为wrap_content,并将它的width设置为50 dip,会发生什么情况? 最佳答案
这两个属性有什么关系?如果我有 android:noHistory="true",那么有 android:finishOnTaskLaunch="true" 有什么意义吗? 最佳答案 假设您的应用中有
我是新手,正在尝试理解以下 XML 代码: 查看 developer.android.com 上的文档,它说“starStyle”是 R.attr 中的常量, public static final
在下面的代码中,为什么当我设置时单选按钮的外观会发生变化 android:layout_width="fill_parent" 和 android:width="fill_parent" 我说的是
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
假设我有一个函数 fun myFunction(name:String, email:String){},当我调用这个函数时 myFunction('Ali', 'ali@test.com ') 如何
我是一名优秀的程序员,十分优秀!