如何使用的iOS,安卓,桌面(或主),使一个项目胶子的胶子文件夹?(How to use Gluon

2019-09-27 04:19发布

我试图通过把平台/操作系统特定的代码在各自的文件夹(自动创建的项目新创建的项目胶子的设置)设置我的胶子工程。 但是不管我做什么任务与摇篮它最终会采取什么是Main文件夹。

比方说,我想有一个com.gluonhq.charm.glisten.mvc.Viewjavafx.scene.control.Button在它-有它通过声明标记不同于哪个文件夹从(主,机器人,桌面或来iOS版)。 怎么会是这样可能吗?

Answer 1:

作为一个经验法则,你不应该要求你的项目的具体平台的代码。

如果你想要的是基于平台的自定义样式,你可以使用Platform.getCurrent().name()然后再与基于它。

例如, MyDevoxx 应用基础平台和设备类型的负载不同的CSS文件。

一个好方法,了解平台特定的文件夹的工作方式是由具有看看魅力下库 ,并为不同的服务的实现。

正如你会发现这些文件夹包含Java和特定于平台的代码。

关于如何创建一个新的服务样本,可以发现在这里 。 例如, AndroidLogService实现使用的android.util.Log ,而IOSLogService利用原生的Objective-C(见Log.m )。 这本机代码必须被编译为一个本地库(见installNativeLib在构建文件的任务)。

在任何情况下,服务是从所谓的main包:

Services.get(LogService.class).ifPresent(service -> service.log(message));

当您将应用程序部署到特定的平台,只为平台实现调用。

所以,如果你需要一个新的服务,您可以创建那些魅力羽绒服的设计如下。



文章来源: How to use Gluon folders of iOS, android, desktop (And main) that make up a Gluon project?