一身转战三千里,一剑曾当百万师。这篇文章主要讲述JavaFX打包到Android上相关的知识,希望能为你提供帮助。
让javaFX执行到移动平台一直是社区努力完毕的事。
当然,眼下已经能够让JavaFX执行到android和ios平台了,以下我们来看看怎样打包自己的JavaFX项目到Android平台。
首先下载以下这个演示样例:
http://pan.baidu.com/s/1bnwIYrP
这个演示样例是我从打包官方演示样例的样例里改动而来,用于打包一个简单的JavaFX程序。
演示样例结构例如以下:
【JavaFX打包到Android上】
文章图片
由文件夹结构能够看到。演示样例是採用gradle来构建的。gradle也是国外很火的自己主动化构建工具。
在第一次打包的时候。须要双击gradlew.bat,会下载一系列的库和包,这里可能会花不少的时间。大家须要等等。
打包的时候须要注意下面的步骤:
1.JavaFX的项目代码放在src/main/java/目录以下
2.JavaFX须要的资源放在src/main/resources/目录以下
3.改动build.gradle文件,里面的mainClassName表示的JavaFX主类的包结构。applicationPackage表示生成的Android的APK程序的包名,当然我们也能够指定自己的xml。这个是后面须要研究的事。
4.在环境变量里加入ANDROID_HOME,用于指定AndroidSDK的文件夹。
在完毕了上面的操作后。通过cmd进入到演示样例文件夹的文件夹里,执行gradle run,看看是否能执行,假设能执行。则执行gradle android来打包我们的APK程序。
打包好的APK放在build/javafxports/android文件夹以下。
另外,有一个重要的点。依据官方说明。JavaFX程序须要通过下面代码来设置Stage的大小,不然在Android设备上的程序分辨率和显示会有问题。
Rectangle2D bounds = Screen.getPrimary().getVisualBounds(); Scene scene = new Scene(root, bounds.getWidth(), bounds.getHeight());
在Android上执行效果例如以下:
点击颜色,以下会同步显示文本。执行效果良好。
本人之前用JavaFX写的SLG的演示样例,也能够打包到手机上执行。仅仅有个别问题,当然是由于没有针对移动设备的分辨率进行调整。
有兴趣的朋友能够自己试试,兴许我还会做相关研究,有问题的能够直接评论,有时间我会回复解答。
----------------------------------------------------------------------------------------------------------------------------------------------
近期推特和Youtube上的比較多,研究了几天的JavaFX打包到Android上。基本没什么大的问题了。如今已经支持针对各个平台做不同的操作,能够加入Android广告。调用Android功能等等了。可是JavaFX游戏打包到Android上的效率不容乐观,本人写了一点演示样例打包到Android上了。
文章图片
文章图片
JavaFX游戏在Android上的效率感觉一般般。本人用写的简单的游戏引擎写了一些演示样例打包到android上,物体不算非常多的情况下大概都在50-60FPS之间。一个简单的Image,加入了100个到同屏幕上,FPS就掉到20-30了。当然,PC和android性能区别非常大,PC上至少加入3000个Image,FPS才会到30左右(个人电脑測试)。只是,毕竟不是用OpenGL做底层绘制,在android上执行效率这种情况也不算太难堪。
看看兴许会有什么改进吧!
---------------------------------------------------------------------------------------------------------------------------------------------
本文章为个人原创,转载请注明出处,本人CSDN博客:http://blog.csdn.net/wingfourever,个人博客地址:http://www.wjfxgame.com。
推荐阅读
- 快学Scala 第二课 (apply, if表达式,循环,函数的带名参数,可变长参数,异常)
- android mvp高速开发框架介绍(dileber的简单介绍)
- Android-风格和主题
- @RequestMapping-限定参数映射
- 翻译View Frustum Culling --3 Clip Space Approach – Extracting the Planes
- Android--Handler的用法(在子线程中更新界面)
- 安卓中一句代码,解决拨号,定位,网页,卸载,安装,播放,邮件,短信
- Android零基础入门第18节(EditText的属性和使用方法)
- @RequestMapping-限定请求方法的映射