我想用JavaFXPorts和静态编程语言代码构建一个JavaFXAndroid应用。在JavaFXPorts项目中可以使用静态编程语言吗?下面是我的示例Gradle(版本5.6.4)项目:
注意:这段代码的问题是Kotlin运行时。。。有没有办法把所有东西捆绑在可执行Jar和Apk中?
.
├── app
│ ├── src
│ │ ├── android
│ │ │ └── AndroidManifest.xml
│ │ └── main
│ │ └── kotlin
│ │ └── com.example
│ │ └── App.kt
│ └── build.gradle.kts
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── build.gradle.kts
├── gradlew
├── gradlew.bat
└── settings.gradle.kts
./settings.gradle.kts
pluginManagement {
repositories {
gradlePluginPortal()
jcenter()
}
resolutionStrategy {
eachPlugin {
if (requested.id.id == "org.javafxports.jfxmobile") {
useModule("org.javafxports:jfxmobile-plugin:${requested.version}")
}
}
}
}
rootProject.name = "app"
include(":app")
/建造。格雷德尔。kts
plugins {
kotlin("jvm") version "1.3.61" apply false
id("org.javafxports.jfxmobile") version "1.3.18" apply false
}
allprojects {
repositories {
jcenter()
}
}
/应用/构建。格雷德尔。kts
plugins {
kotlin("jvm")
id("org.javafxports.jfxmobile")
}
dependencies {
implementation(kotlin("stdlib-jdk8"))
}
application {
mainClassName = "com.example.App"
}
jfxmobile {
android {
manifest = "src/android/AndroidManifest.xml"
applicationPackage = application.mainClassName
buildToolsVersion = "29.0.2"
compileSdkVersion = "28"
targetSdkVersion = "28"
minSdkVersion = "19"
}
}
./app/src/android/android清单。xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example" android:versionCode="1" android:versionName="1.0">
<supports-screens android:xlargeScreens="true"/>
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="28" android:maxSdkVersion="28"/>
<application android:label="App" android:name="android.support.multidex.MultiDexApplication">
<activity android:label="App" android:name="javafxports.android.FXActivity" android:configChanges="orientation|screenSize">
<meta-data android:name="main.class" android:value="com.example.App"/>
<meta-data android:name="debug.port" android:value="0"/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
./app/src/main/kotlin/com/example/app。kt
@file:JvmName("App")
package com.example
import javafx.application.Application
import javafx.geometry.Rectangle2D
import javafx.scene.Scene
import javafx.scene.control.Label
import javafx.scene.layout.StackPane
import javafx.stage.Screen
import javafx.stage.Stage
class App : Application() {
override fun start(primaryStage: Stage?) {
val content = Label("Hello")
val root = StackPane(content)
val bounds: Rectangle2D = Screen.getPrimary().visualBounds
val scene = Scene(root, bounds.width, bounds.height)
primaryStage?.scene = scene
primaryStage?.show()
}
}
你可以,但你可能会经历一些痛苦,我的建议是使用TornadFX,它是建立在JavaFx之上的Kotlin UI框架。这真的很好
这是整合指南
全堆栈:
我一直试图编写一些opengl代码,在任何地方都可以使用,但又不太限制自己。 我想在只支持opengles2的设备上使用opengles2,在支持opengl核心的设备上使用opengles2。 另外,我希望能够在运行时选择使用哪一个(当然,如果可用的话)。 我知道GLEW,但不幸的是,大多数linux distros发布的GLEW版本仍然不兼容GLES2(debian,我在看你)。它只是分割断层
是否可以使用web3J收听infura事件?我正在尝试获取事件,但出错 我在不同的博客中读到,使用web3J无法获取过滤事件,那么使用web3J和infura获取过滤事件的替代方案是什么?
问题内容: 我在kotlin上开发应用程序,但需要良好的Java支持。我发现的问题是kotlin的功能。 这是我以前做的 但这会从kotlin库编译为Function1,并且由于jar的大小,我没有在jar中直接包含kotlin库,这使Java开发人员更加困难,因为他们必须下载kotlin库才能使用此功能方法。 我尝试使用Java的Supplier或Function接口,但发现Kotlin开发人员
问题内容: 检索具有特定类的元素数组的最佳方法是什么? 我会使用document.getElementsByClassName,但IE不支持它。 …但是IE仍然说: 对象不支持此属性或方法 有什么想法,更好的方法,错误修复? 我不希望使用任何涉及jQuery或其他“笨拙的javascript”的解决方案。 我知道了! 正如@joe提到的,该函数不是的方法。 因此,工作代码如下所示: …此外, 如果
问题内容: 我在我的项目中使用,。我面临着找不到的错误。实际上,在旧的hibernate核心jar中,我们拥有此类,但在4.3.0版本中却没有。事实上我们有在4.3.0版本。但是我不确定此类在运行时如何依赖。意思是当我在应用程序中使用glassfish服务器时。 请让我知道spring 4.0.0和hibernate 4.3.0版本的兼容性,并向我推荐这两个版本的最新兼容版本。 我的代码是:dis