活力 J2ME 一

飞行器坐标转换 本文定义的是右手直角坐标系,x−y−zx-y-zx−y−z轴分别为北-天-东。从AAA坐标系到BBB坐标系是分别绕y−z−xy-z-xy−z−x轴,即天-东-北旋转ψ−θ−γψ−θ−γ。如果AAA是惯性系,BBB是机体系,则这三个角度分别为偏航角、俯仰角、横滚角。图1 惯性系到机体系。 阅读详情

几个基本概念的学习。

应用程序管理器(Java Application ManagerJAM,在规范中也称做Application Management SoftwareAMS)。这是一个用来执行J2ME应用程序的原生程序(Native,代表通常用C/C++撰写而成),应用程序管理器负责管理在设备上所有的J2ME应用程序。

 

 

 

 

MIDlet一个可以执行的应用程序基本单位。除了继承自javax.microedition. midlet.MIDlet之外,还包括让此类可以顺利执行的所有其它类和资源文件(只要是非class文件都称做资源文件)所构成的集合。

JAR文件JAR File.jar文件)实际上是包裹住MIDlet Suite的文件,属于ZIP压缩格式。

描述文件(Descriptor File.jad文件):用来描述MIDlet Suite基本信息的文本文件,包括MIDlet Suite所包含之MIDlet相关信息(类名称、图标、程序名),或是MIDlet Suite之整体信息(文件大小、安全权限、证书等),这是一个外部文件(不存在JAR文件内部,独立存在的文件)。

JADJAR的内容理论上,每个MIDP应用程序都是由一个JAD文件与一个JAR文件所构成,两者缺一不可。但是实际的情况下,在某些设备上部署MIDP应用程序时,该设备上的应用程序管理器并不要求一定要有JAD文件,有些甚至会自己产生对应的JAD。在MIDP 1.0时,是否有JAD文件无关痛痒。但是在MIDP 2.0之中,是否有JAD文件将涉及安全议题。

JAD文件是一个纯文本文件,所以内部都是一些属性和属性值。而JAR文件除了包含MIDlet以及其它相关的class文件(辅助类、程序库)之外,还包含了:

1.资源文件

MIDlet执行时所需要的文件,如图片、文本文件等,只要不是class文件,都称做资源。另外规范有规定,class文件不能当做资源来使用。

2.清单文件(Manifest FileManifest.mf

用来描述一个MIDP应用程序之基本信息,包括MIDlet Suite所包含之MIDlet相关信息(类名称、图标、程序名),或是MIDlet Suite之整体信息(名称、版本号码、制作者等)。这是一个内部文件(存在于JAR文件内部)。

MIDlet的基本程序结构:

javax.microedition.midlet.MIDlet类中定义了三个抽象方法(abstract),因此我们自己撰写MIDlet必须实现他们,这三个抽象方法分别是:

l         startApp()  至运作状态;

l         pauseApp()  至停止状态;

l         destroyApp()  至消灭状态。

使用Display.getDisplay(this)来取得代表该设备显示画面的Display对象。从应用程序管理器调用startApp()MIDlet结束运作这段时间之内,不管何时调用Display.getDisplay(this),取得的都是同一份Display对象的引用。所以通常我们会将取得的Display对象保留下来,供往后使用。要设定显示在屏幕上的画面,使用Display对象的引用,并调用其setCurrent()方法:

display.setCurrent( Displayable类的子类实体)

千万不要将只需要执行一次(例如初始化)的程序代码写在startApp()之中,因为startApp()在整个MIDP应用程序的周期里不只被执行一次

MIDlet管理自己的生命周期

应用程序管理器来控制MIDlet的生命周期之外,MIDlet本身也可以软性地决定自己的状态,但不是自己改变自己的状态,而是MIDlet先调用上述相对应的状态改变函数,这些函数会发出信息通知应用程序管理器,请它来帮我们改变MIDlet的状态,但是决定权在于应用程序管理器,不保证一定可行。

startApp()pauseApp()以及destroyApp()并非控制MIDlet生命周期的函数,它们只是一个提供我们初始化资源、释放资源的地方而已。

随机数:

java.util包之中有个Random类,负责用来产生随机数(只能是intlong类型的随机数)。所以使用前,我们必须先产生Random类,您可以用

Random rdm = new Random(seedvalue) ;

其中seedvalue是随机数种子。或者您也可以用

Random rdm = new Random() ;

这个构造函数会在内部调用

this(System.currentTimeMillis());

它会根据当时的时间设定随机数种子。任何时候我们都可以调用setSeed()来设定随机数种子。

我们想要自定随机数产生的范围,那么就要用到一些技巧。举例来说,如果你想要产生-160160之间的数值,我们就必须用到余数运算符(%):

int res = rdm.nextInt()%160 ;

如果想要产生0160之间的数值,由于int本身是有号数,而且为32 Bits。必须把第一个Bit设定成0(代表正数)才行,我们可以使用

int res = (rdm.nextInt() >>> 1)%160 ;

利用无号移位运算符。或

int res = (rdm.nextInt() & 0x7FFFFFFF)%160 ;

把第一个Bit设成0。两种方法皆可。

相反如果想要产生-1600之间的数值,只要把第一个Bit设成1即可。我们可以把上述产生正数的方法前面加上负号。也可以用

int res = (rdm.nextInt() | 0x80000000)%160 ;

 

完善中。。。

完善中。。。

完善中。。。

完善中。。。

 

 

 

 

 

 

 

 

小红书图文笔记图像批量爬取:Python爬虫实战与反反爬策略全解析 在当今社交媒体盛行的时代,小红书作为中国领先的生活方式分享平台,积累了海量的优质图文内容。对于数据分析师、市场研究人员或内容创作者来说,能够高效获取这些数据具有重要意义。本文将详细介绍如何使用Python构建个高效、稳定的小红书图文笔记图像批量爬取工具,涵盖最新技术栈和反反爬策略。本文详细介绍了如何使用Python构建个高效、稳定的小红书图文笔记图像批量爬取系统。通过结合Playwright、aiohttp等现代工具,实现了从列表页采集到图片下载的完整流程。 阅读详情

相关推荐

C#上位机实战:Modbus RTU串口通信(CRC校验+超时重发完整实现)

在工业自动化上位机开发中,Modbus RTU是串口通信的事实标准协议,SerialPort是 .NET 平台操作串口的原生类,无需依赖第三方库即可实现基础通信。实际项目中,工控现场存在电磁干扰、串口丢包、设备响应延迟等问题,CRC 数据校验用于保证报文完整性,超时重发机制用于提升通信稳定性。本文从零封装套可直接落地的 Modbus RTU 通信组件,包含完整的校验算法、超时控制、重发逻辑,并配套 WinForm 演示界面。本文基于 C# 原生SerialPort类,实现了套生产可用。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 345

活力无限的J2ME技术

活力无限的J2ME技术作者:陈跃峰出自:http://blog.csdn.net/mailbomb        当我们伴随着时间的车轮告别2005年,迎来2006年时,时间带给我们的除了经验的增长以外,还带来了很多新的技术。       2005年是辉煌的年,J2ME技术在手机程序开发领域得到了长足的发展,有越来越多的J2ME程序被安装到数以亿记的手机中,各种新的技术和应用层出不迭,手机流媒体

爪哇米工作室陈跃峰的移动开发博客 4646

MFC Windows 程序设计[105]之彩色滚动条(附源码)

MFC是微软公司提供的个类库(class libraries),用以减少应用程序开发人员的工作量。其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。有很多初学MFC的小伙伴们都觉得MFC比较难学,看书吧,看了就忘了,网上的些教程又是写的含糊不清,故而学习起来很吃力...... 故此,本专栏亲自研究,实践,由易到难,层层深入,将调试过程中所遭所遇进行详细讲解,注意事项进行列举,希望能够帮助到各位初学MFC的小伙伴,避免走弯路,费时费力。

hnjzfwy的博客 498

终极指南:如何用FreeJ2ME在现代设备上重温Java手机游戏黄金时代

**FreeJ2ME**是款免费开源的J2ME模拟器,专为那些怀念诺基亚时代经典手机游戏的玩家和开发者设计。这个强大的工具通过libretro、AWT和SDL2三种前端架构,让《贪吃蛇》、《俄罗斯方块》等经典Java游戏在现代Windows、Linux、macOS及嵌入式设备上完美重生。无论你是想重温童年记忆,还是希望保存数字游戏文化遗产,FreeJ2ME都提供了完整的解决方案。 ## 为什么

gitblog_00928的博客 414

j2ee怎样入门?

[size=medium]最佳答案 我们学习Java大概有3个方向, 第,桌面系统,包括C/S结构;第二,J2ME,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了。第三,面向企业应用、计算的平台,J2EE。 初次涉及Java领域,感觉到Java入门是好像没有C,C++入门快,工具也没有什么Turbo C,Visual C++好用(自己的破机器实在陪不起JBuild...

iteye_9815的博客 131

java入门学习指导之最佳方向(上)

   我们学习Java大概有3个方向,第,桌面系统,包括C/S结构;第二,J2ME,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了。第三,面向企业应用、计算的平台,J2EE。    初次涉及Java领域,感觉到Java入门是好像没有C,C++入门快,工具也没有什么Turbo C,Visual C++好用(自己的破机器实在陪不起JBuilder,贪婪的家伙,以后定要收拾她)。什么JAV

J.Tuner的专栏 767

回眸:Java改变了什么?

 从某种意义上讲,Java是SUN的救世主,与.NET是不离不弃的双子星。  Java改变了什么  十年前,几乎没有人想到,几个技术人员研发的个“小语言”,会发展成如今的个“生态圈”,这就是Java。        Java让互联网动了起来  “计算机语言的发展历史也是人们不断追求更高的模块化、抽象化和封装化的历史。近十年期间,很多编程语言,从出现到没落经过了波又波。像1970年代出现

JAVA技术专栏 589

诺基亚为Linux带来Java

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 432

酒店预订系统web端Android端,基于Web Service的掌上酒店预订系统的设计与实现

摘要:随着中国经济的发展与人们生活水平的提高,酒店行业得到了飞速的发展。其中酒店预订是酒店发展的重要环节。酒店预订先后经历了以人工、电话、计算机为平台的预订时期。随着无线通信技术和互联网技术的飞速发展,移动应用业务为使人们可以随时随地接入互联网获取网上的信息和服务。利用现有的网络资源,并结合新兴的移动网络技术,设计并开发掌上酒店预订系统将成为酒店行业发展新的增长点。 本文通过研究连锁酒店的预订及管...

weixin_42470362的博客 408

java入门学习指导之最佳方向

         我们学习Java大概有3个方向,第,桌面系统,包括C/S结构;第二,J2ME,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了。第三,面向企业应用、计算的平台,J2EE。   初次涉及Java领域,感觉到Java入门是好像没有C,C++入门快,工具也没有什么Turbo C,Visual C++好用(自己的破机器实在陪不起JBuilder,贪婪的家伙,以后定要收拾她

WangPan 890

【博客搬家】java入门学习指导之最佳方向

我们学习Java大概有3个方向,第,桌面系统,包括C/S结构;第二,J2ME,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了。第三,面向企业应用、计算的平台,J2EE。   初次涉及Java领域,感觉到Java入门是好像没有C,C 入门快,工具也没有什么Turbo C,Visual C 好用(自己的破机器实在陪不起JBuilder,贪婪的家伙,以后定要收拾她)。什么JAVA_HOME

295

基于SpringBoot+Vue的释放活力永葆青春篮球吧平台的设计与实现

随着B/S结构的不断发展,使用的人也不断增加,从而带动了AJAX技术的发展,和B/S结构样,它也能在客户端上处理程序,这便缓解了服务器的负担,提高了交互性,而且实现了局部实时刷新。另外在原本的Spring中由于随着项目的扩大导入的jar包数量越来越大,随之出现了jar包版本之间的兼容性问题,而此时SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性问题得到了很好的解决。MySQL 有很多特性,如可移植性,多线程,灵活性等,在很多操作系统中都可以运行。

JAVA编码选手的博客 849

AMI-1种有效的、具有细胞渗透性和可逆性的蛋白精氨酸 N-甲基转移酶 (PRMT) 抑制剂 |MedChemExpress (MCE)

AMI-1种有效的、具有细胞渗透性和可逆性的蛋白精氨酸 N-甲基转移酶 (PRMT)抑制剂,IC50为 8.8人 PRMT1 和酵母 Hmt1p 分别为 μM 和 3.0 μM。 AMI-1 通过阻断肽-底物结合发挥 PRMTs 抑制作用

mmmm12134的博客 1279

Java的历史和发展

Java的历史是技术适应时代变革的典范:从嵌入式系统到互联网革命,再到云计算时代。其“跨平台”理念和强大生态使其历经30年不衰。作为开发者,理解Java的发展有助于把握编程趋势,并应用于实际项目中。如果您有具体问题(如Java版本对比),欢迎进步探讨!

2501_93581449的博客 538

JVM学习笔记(2) 第部分 走近java 第1章 走近java

java是由系列计算机软件和规范组成的技术体系,应用广泛。结构严谨,面向对象跨平台,“wirte once, run anywhere”自动内存管理和访问机制,避免了绝大多数的内存泄漏和指针越界问题热点代码检测和运行时编译优化类库完善,社区活跃,三方库多这章不涉及具体技术内存,总控性介绍java技术体现的内容,过去现在和未来的发展趋势。

qq_37763312的博客 464

D-α-Hydroxyglutaric acid disodium 是神经代谢疾病 D-2-hydroxyglutaric aciduria 中积累的主要代谢物 |MCE

D-α-Hydroxyglutaric acid disodium (Disodium (R)-2-hydroxyglutarate) 是神经代谢疾病 D-2-hydroxyglutaric aciduria 中积累的主要代谢物。

MCE_China的博客 732

Java入门学习指导之最佳方向

Java入门学习指导之最佳方向(上)2005-09-28 10:17作者:出处:豆豆技术网责任编辑:王玉涵  我们学习Java大概有3个方向,第,桌面系统,包括C/S结构;第二,J2ME,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了。第三,面向企业应用、计算的平台,J2EE。  初次涉及Java领域,感觉到Java入门是好像没有C,C++入门快,工具也

sweetna的专栏 1146

Vector在Java编程中的应用

Vector在Java编程中的应用Vector 类提供了实现可增长数组的功能,随着更多元素加入其中,数组变的更大。在删除些元素之后,数组变小。Vector 有三个构造函数:  public Vector(int initialCapacity,int capacityIncrement)  public Vector(int initialCapacity) public Vector()Vec

Holly 2115

毕业设计基于yolov8实现的道路坑洞检测测试代码+模型+测试视频+使用说明.zip

基于yolov8实现的道路坑洞检测测试代码+模型+测试视频+使用说明.zip

基于深度卷积神经网络的数字调制方式识别_神经网络_调制识别_调制方式识别_卷积神经网络_

基于深度卷积神经网络的数字调制方式识别篇文章,通过卷积神经网络识别调制方式

上一篇: (转)手机游戏趋势和相关J2ME API
下一篇: 认识UniJa技术
zhy21
博客等级 码龄22年 3粉丝 83原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值