Bạn đã có thể dùng thử plugin JavaFXPorts. Đó là sự phát triển liên tục, nhưng các phiên bản gần đây đủ trưởng thành để sử dụng nó mà không có vấn đề gì.
Hãy xem các yêu cầu cơ bản để bắt đầu here. Bạn sẽ cần các công cụ JDK8u40 +, Gradle 2.2+, Android SDK và Android Build.
Khi bạn đã sẵn sàng, bạn có thể thử số samples.
Ngoài ra, tôi khuyên bạn nên xem Gluon-plugin cho NetBeans. Về cơ bản nó sẽ tạo ra một dự án JavaFX trống mới cho bạn, và bạn sẽ có thể xây dựng nó và triển khai nó trên máy tính của bạn, trên nền tảng Android và trên iOS.
Hãy nhìn vào các tập tin build.gradle
:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b4'
}
}
apply plugin: 'org.javafxports.jfxmobile'
repositories {
jcenter()
}
mainClassName = 'org.test.javafxports.TestJavaFX'
jfxmobile {
ios {
forceLinkClasses = [ 'org.test.javafxports.**.*' ]
}
}
Trước hết, bạn chỉ cần cập nhật phiên bản plugin. Kiểm tra here cho cái cuối cùng: 1.0.0-b8.
Xây dựng và chạy trên máy tính để bàn của bạn hoặc chạy các tác vụ như androidInstall để tạo gói ứng dụng và triển khai nó trên điện thoại di động Android của bạn.
Khi bạn đã thử nghiệm và mọi thứ hoạt động đúng cách, bạn có thể bắt đầu thêm mã của dự án.
Và quay lại câu hỏi của bạn, vâng, bạn có thể thêm bất kỳ bình của bên thứ ba nào vào dự án.
Về cơ bản, bạn chỉ cần thêm phụ thuộc vào tệp gradle. Bạn có thể sử dụng compile
hoặc runtime
với các tập tin địa phương hoặc từ kho bên ngoài:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b8'
}
}
apply plugin: 'org.javafxports.jfxmobile'
repositories {
jcenter()
}
dependencies {
compile files('lib/<your local jar>.jar')
compile 'org.glassfish:javax.json:1.0.4'
androidCompile 'org.glassfish:javax.json:1.0.4'
}
mainClassName = 'org.test.javafxports.TestJavaFX'
jfxmobile {
ios {
forceLinkClasses = [ 'org.test.javafxports.**.*' ]
}
}
Lưu ý bạn có thể thêm phụ thuộc mà chỉ được thêm vào một nền tảng duy nhất, như androidCompile
hoặc androidRuntime
.
Vì gói ứng dụng sẽ chạy trên máy ảo Dalvik, chỉ cho phép các tính năng Java 7. Tuy nhiên, bạn có thể sử dụng lambdas vì plugin sử dụng dự án Retrolambda nội bộ trên mã của bạn. Hãy lưu ý rằng nó không được áp dụng trên các lọ thêm vào.
Ví dụ về cách sử dụng lọ trên dự án, bạn có thể sử dụng thư viện mã nguồn mở Gluon-Charm-Down, đã cung cấp quyền truy cập vào một số dịch vụ gốc trên thiết bị của bạn, như bộ nhớ cục bộ hoặc GPS.
dependencies {
compile 'com.gluonhq:charm-down-common:0.0.1'
androidRuntime 'com.gluonhq:charm-down-android:0.0.1'
desktopRuntime 'com.gluonhq:charm-down-desktop:0.0.1'
}
Trong thực tế, với plugin jfxmobile và thư viện này, các trò chơi 2048FX đã được chuyển thành công vào Android (Google Play) và iOS (Apple Store).