当前位置:  开发笔记 > 编程语言 > 正文

Realm.io - 在Android之外使用(在Java中)

如何解决《Realm.io-在Android之外使用(在Java中)》经验,为你挑选了1个好方法。

我正在考虑从我的Android应用程序切换到Firebase数据库到Realm.io.

从我读过的内容 - https://realm.io/docs/java/latest/#getting-started:

目前我们不支持Android以外的Java.

对于这样一个(据称)成熟的库来说,这似乎是一个奇怪的限制.

我认为这可能会使例如自动测试变得复杂,需要在设备/模拟器上运行测试,从而减慢了很多事情.

问题:

难道它不能在Android之外使用吗?

这种限制的原因是什么?

它真的像我想的那么糟糕吗?

如果我想在云中的某个地方运行一些辅助服务器应用程序(用Java编写),例如AppEngine,以连接到领域数据库,该怎么办?该选项被排除在外吗?

有哪些变通方法,例如测试和服务器端Java?

对于后一个目的 - 是否支持NodeJS服务器端应用程序?



1> EpicPandaFor..:

对于这样一个(据称)成熟的库来说,这似乎是一个奇怪的限制.

如果考虑到Realm提供自己的本机核心以及为Android NDK编写的JNI包装器这一事实,这并不是一个奇怪的限制; 并且还没有脱离它以使其与平台无关,因此例如在某些地方依赖于特定于Android的东西 - 例如,通知,使用"Looper"作为其特定的事件循环实现.

从技术上讲,该realm-java绑定有计划支持Java的Android之外,但它目前没有.你应该更多地考虑它 - 而realm-android不是realm-java在这个时候.


Realm-Core当时还不支持UWP和Windows,虽然现在的realm-dotnet项目也适用于Windows.即便如此,从Android分离Realm-Java的实现也很困难.

我认为这可能会使例如自动测试变得复杂,需要在设备/模拟器上运行测试,从而减慢了很多事情.

为了测试特定于Realm的行为,是的.

使用单元测试来测试应用程序中的其他内容,没有.你只需要正确的设计,我想有些嘲笑.

难道它不能在Android之外使用吗?

它适用于iOS和Android作为本地数据库.

自2016年11月16日本文以来,它也可以在Linux上作为本地服务器端数据库工作,通过NodeJS使用类似(相同的)API到React-Native Realm API.


您还可以在任何您喜欢的Linux或MacOS计算机上免费运行Realm Object Server(ROS).

然后,您可以使用sync API连接到所述ROS,并自动将与用户关联的Realm同步到ROS.这就是你可以免费使用ROS做的事情.

使用Enterprise Professional Edition及其价格,您还可以(在服务器端)读/写Sync Realms,并通过NodeJS Realm API监听改变Sync Realm的事件.

它真的像我想的那么糟糕吗?

这取决于你自己的解释.

如果我想在云中的某个地方运行一些辅助服务器应用程序(用Java编写),例如AppEngine,以连接到领域数据库,该怎么办?该选项被排除在外吗?

您的Java应用程序当前无法与服务器端的Realm通信.

仅限NodeJS.

即使这样,"同步"领域自动更新设备之间的所有数据到ROS以反映ROS中的任何内容都是付费功能.

基本上,Realm-Java目前仅支持Android.正如它在文档中所说的那样.


至于通过NodeJS API在Linux上与服务器端的本地域进行通信,请务必继续.

对于后一个目的 - 是否支持NodeJS服务器端应用程序?

NodeJS能够在Linux机器上写入Realms.可能也是Mac OS.

免费版仅限本地Realm.付费版本是通过ROS同步Realm的东西.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有