NetBeans建立CLDC/MIDP应用程序

本文介绍如何使用NetBeans IDE建立CLDC/MIDP应用程序,包括使用ProGuard进行代码混淆的方法,以及如何创建JAD和JAR文件来打包和部署应用程序。

NetBeans建立CLDC/MIDP应用程序



一、NetBeans建立CLDC/MIDP应用程序
NetBeans IDE使用同样的Java编译器来建立CLDC应用程序,其背后使用了-bootpathoption选项来重定位编译器使用不同的基础类。

建立选项——尤其是optimization(优化)和obfuscation(混淆),在JavaME设备中扮演了重要角色。原因如下:

1)商业应用,保护知识产权。

2)优化和混淆能使得应用程序更小,应用传输到目标平台所耗时间更少,占用目标硬件的内存更小。
因为混淆对类名、方法名和成员变量等使用更简短的名字进行了重命名;并删除了未使用的类、方法和成员变量。

NetBeans IDE使用了流行的、开源的ProGuard混淆器,它可以从项目属性的混淆面板进行控制。

要管理这些,NetBeans SDK提供了项目配置,它是项目选项的集合,包括目标平台、应用程序描述、打包和建立选项等。

如果熟悉Java的Build过程,可以查看输出日志,可以看到混淆步骤的标签:pre-preverify、preverify和post-preverify。

代码混淆完成后,preverify(预校验)工具为虚拟机Runtime内联各个类文件的子程序,并增加必要的信息到每个栈帧(stack frame),完成了虚拟机原本要执行的类型检查和字节码验证。

如果不想使用NetBeans IDE,而是想使用工具链来Build应用程序,你需要下面这个preverify工具。
Sun Java Wireless Tookit。其它的工具链,如EclipseME,就需要此工具。


二、打包并执行CLDC/MIDP应用
在设备上,应用程序管理器向MIDlets提供服务。例如,下载MIDlets、运行和终止MIDlets、MIDlets之间共享系统资源等等。

MIDlets以两个文件来告诉应用程序管理器:
1)JAD文件
它描述应用程序
2)JAR包文件
包含的应用程序的字节码以及所需的资源。

实际上,很多MIDlet程序都打包成JAD/JAR对(它称为suite)。

JAD文件是属性的名/值对,比如看下面一个ElephantWidget JAD文件例子:
MIDlet-1: Weather,,com.rischpater.weatherwidget.ElephantWidget
MIDlet-Jar-Size: 3596
MIDlet-Jar-URL: ElephantWidget
MIDlet-Name: ElephantWidget
MIDlet-Vendor: Li Sir
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.1

一般来说,JAD文件的相关域大致如下:
1)MIDlet-n
表示到图标、类名的名字和路径,以及它是MIDlet套件中的第几个应用。

2)MIDlet-Jar-Size
MIDlet套件的JAR文件的大小(单位字节)。它必须与实际的JAR文件尺寸相匹配,否则很多设备不接受JAR文件。

3)MIDlet-Jar-URL
MIDlet JAR文件的URL

4)MIDlet-Name
MIDlet套件的名字

5)MIDlet-Vendor
MIDlet套件的开发者

6)MIDlet-Version
MIDlet套件的版本号

7)MicroEdition-Configuration
MIDlet套件所需的Java ME虚拟机(CDC或CLDC)的版本号

8)MicroEdition-Profile
MIDlet使用的profile,包括其版本号。

六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)内容概要:本文档围绕六自由度机械臂的ANN人工神经网络设计展开,详细介绍了正向与逆向运动学求解、正向动力学控制以及基于拉格朗日-欧拉法推导逆向动力学方程的理论与Matlab代码实现过程。文档还涵盖了PINN物理信息神经网络在微分方程求解、主动噪声控制、天线分析、电动汽车调度、储能优化等多个工程与科研领域的应用案例,并提供了丰富的Matlab/Simulink仿真资源和技术支持方向,体现了其在多学科交叉仿真与优化中的综合性价值。; 适合人群:具备一定Matlab编程基础,从事机器人控制、自动化、智能制造、电力系统或相关工程领域研究的科研人员、研究生及工程师。; 使用场景及目标:①掌握六自由度机械臂的运动学与动力学建模方法;②学习人工神经网络在复杂非线性系统控制中的应用;③借助Matlab实现动力学方程推导与仿真验证;④拓展至路径规划、优化调度、信号处理等相关课题的研究与复现。; 阅读建议:建议按目录顺序系统学习,重点关注机械臂建模与神经网络控制部分的代码实现,结合提供的网盘资源进行实践操作,并参考文中列举的优化算法与仿真方法拓展自身研究思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值