`
univasity
  • 浏览: 811583 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

J2ME上检测是否支持特定的API

    博客分类:
  • J2me
阅读更多

这是很久前另一个BLOG上的,现在不用了。转过来吧,方便查看...

 

也许熟悉Class类的朋友早就知道如何使用了,这里我只是做了一下总结,帮助有需要的朋友。

一开始这个问题是群里的一个朋友提出来的,我也不会,搜了很久才摸透了,下面就来说说,也当作资料备份(^-^)。

 

理论基础:

    每个类都有一个相应的java.lang.Class对象。每个类的Class对象存储于编译后的类所在的文件中。所以,当JVM装载一个.class文件时就会装载一个Class对象。

 

思路:

     判定是否支持特定API,只要检测API中(所包含的特定的)类的Class对象是否存在。

 

步骤:

1.获得类的Class对象。

2.判断Class对象是否存在。

 

1.获得类的Class对象

  这有3个途径可以获得,分别是:

  1)Object.getClass();

  2)classname.class(如javax.microedition.lcdui.Canvas.class);

  3)Class.forName(classname)(如Class.forName(java.lang.String));

 

  我们的目的是判断是否支持特定的API,显然不可能事先得到对象实例,第1个方法不能用。第2和第3个方法都是可行的。

 

2.判断Class对象是否存在

  对于第2种方法,判断获得的Class是否为null;

  对于第3中方法,如果不存在会抛出ClassNotFoundException。

 

一个判断是否支持NOKIA API的例子:

方法2:

... ...

if(com.nokia.mid.ui.FullCanvas .class !=null ? true : false)

    System.out.println("支持");
else

    System.out.println("不支持");

... ...

 

方法3:

public static boolean test(String classname) {
    try {

         Class.forName(classname.trim());
         return true;

    } catch (ClassNotFoundException e) {

         return false;

    }

}

... ...

if(test("com.nokia.mid.ui.FullCanvas "))

    System.out.println("支持");

else

    System.out.println("不支持"); 

... ...

 

这里再附上两个相关的连接,可供参考:

测试手机支持哪些J2ME类:

http://www.myspaces.cn/userhly/archive/2008/09/11/28790.aspx

手机支持的java协议检测工具:

http://mobile.72pines.com/2008/07/28/%E6%89%8B%E6%9C%BA%E6%94%AF%E6%8C%81%E7%9A%84java%E5%8D%8F%E8%AE%AE%E6%A3%80%E6%B5%8B%E5%B7%A5%E5%85%B7/

分享到:
评论

相关推荐

    j2me中文Api

    通过上述介绍可以看出,J2ME提供了丰富的API来支持移动设备上的应用开发,特别是针对UI展示、命令处理、多媒体支持等方面的功能。对于希望利用Java进行手机程序和游戏开发的开发者来说,掌握这些API是非常重要的。...

    (Himi)j2me3D游戏开发api

    1. **环境设置**:首先,开发者需要在J2ME平台上配置支持JSR184的开发环境,这可能包括安装特定的库和工具。 2. **模型创建**:使用API创建或导入3D模型,并进行必要的纹理映射和光照设置。 3. **场景构建**:将3D...

    J2ME手机开发技术API

    **J2ME手机开发技术API**是针对Java Micro Edition(J2ME)平台的应用程序开发进行详细阐述的技术参考资料。J2ME是一种轻量级的Java平台,主要用于开发在小型电子设备上运行的应用程序,如早期的移动电话、PDA、智能...

    j2me 手机jsr支持测试

    本测试项目“j2me手机jsr支持测试”旨在帮助开发者或用户了解特定手机型号对不同JSR规范的兼容性情况。通过这个工具,可以快速检测手机是否支持常用的JSR,如JSR-118、JSR-135、JSR-75(PIM,个人信息管理)、JSR-...

    J2ME_Map.rar_J2ME 地图_J2ME游戏_j2me 游戏_j2me_m_绘制地图

    在J2ME中,地图通常以二维数组或网格的形式表示,每个单元格代表地图上的一个特定区域,可以是空地、建筑物、敌人位置等。通过这种方式,开发者能够轻松地实现角色移动、碰撞检测等功能。 地图绘制则涉及到图形渲染...

    j2me移动媒体API开发者指导

    开发者需要了解目标设备的限制,并使用`FeatureDescriptor`检查设备是否支持特定功能。 **八、优化和性能** 在资源受限的环境中,优化媒体处理至关重要。这可能包括减少内存使用、降低处理器负载和优化数据流。...

    J2ME Property属性表E.doc

    除了这些基础属性,J2ME还提供了可选包的属性,以确定设备对特定API的支持程度,例如: - `microedition.media.version`:用于查询MMAPI(Multimedia Application Programming Interface)版本,用于多媒体处理。 -...

    J2ME赛车手机游戏

    虽然标签中没有明确提及,但J2ME游戏还可以支持网络功能,如在线排行榜、多人竞技等。通过MIDP的JSR-118(MIDP 2.0)提供的网络API,开发者可以实现数据的上传和下载,为玩家提供更具竞争性和社交性的游戏体验。 **...

    J2ME版贪吃蛇游戏

    在J2ME平台上开发游戏,开发者需要熟悉Java语言基础以及J2ME提供的特定API。 【描述】中提到的"博文链接:https://smq-java.iteye.com/blog/418968"可能是一个详细的教程或博客文章,提供了关于如何构建J2ME版...

    J2ME 五子棋源代码

    游戏的核心部分是五子棋的逻辑实现,包括检查每一步是否合法,检测是否有五子连珠,以及处理回合切换。这涉及到对二维数组的遍历,检查每个棋子周围的位置,以判断是否存在五子连线。 4. **人工智能算法** 在J2ME...

    J2ME Game Programming 英文版

    在J2ME游戏中,开发者可能会使用特定的游戏引擎或框架,如Mogre、JGame或Polystrip,这些工具简化了游戏逻辑、渲染和碰撞检测等复杂任务。 **图形和动画** J2ME提供了低级别的图形API,如Graphics类,用于绘制2D...

    赛车游戏 J2ME源码程序

    《赛车游戏 J2ME源码程序》是一款基于Java 2 Micro Edition (J2ME)平台开发的移动设备上的赛车游戏。J2ME是Java的一种轻量级应用框架,主要用于开发移动设备、嵌入式系统等资源有限的环境中的应用程序。这款赛车游戏...

    J2ME教学代码整理.rar_j2me_j2me 游戏

    1. **MIDP(Mobile Information Device Profile)**:这是J2ME的核心部分,定义了移动设备上的应用程序接口,包括用户界面组件、网络连接、数据存储等。 2. **CLDC(Connected Limited Device Configuration)**:...

    j2me低级api与事件demo.rar

    总的来说,J2ME低级API与事件处理是移动应用开发的基础,它们使得开发者能够在各种不同规格的设备上创建功能丰富的、用户友好的应用程序。通过研究和实践这些示例代码,开发者能够提升对J2ME平台的理解,增强在有限...

    j2me api文档

    了解并熟练掌握J2ME MIDP API对于开发移动应用程序至关重要,这不仅包括理解各个类和接口的功能,还需要熟悉如何在有限的资源环境下优化代码,以确保应用能在各种移动设备上高效运行。通过阅读和实践这个HTML版的...

    J2ME游戏编程ydaima.rar

    2. **MIDP API**:这是J2ME游戏开发的主要API,提供了用户界面组件、网络连接和数据存储等基础功能。特别是Canvas类,它是创建游戏画面的基础,允许开发者自定义绘图。 3. **图形与动画**:J2ME使用低级别的...

    j2me-tetris.zip_j2me_j2me tetris_j2me 俄罗斯方块_tetris_tetris j2me

    KVM(K Virtual Machine),是J2ME的虚拟机,以及一套特定的配置和Profile,如MIDP(Mobile Information Device Profile)和CLDC(Connected Limited Device Configuration),它们定义了设备上的API集。 “j2me-...

    J2ME完整的五子棋游戏

    - 胜利检测:通过遍历所有可能的连线方向,检查是否有五子连珠。 - AI算法:对于单机挑战版,可能采用简单的Minimax算法或Alpha-Beta剪枝,以实现AI对手的智能决策。 3. **游戏版本解析** - **单机挑战版**:...

    最新j2me插件(ECLIPSE)

    3. **代码编辑器增强**:提供J2ME特定的代码补全、语法高亮和错误检查。 4. **WTK(Wireless Toolkit)集成**:与Sun Microsystems的Java Wireless Toolkit或Nokia的J2ME SDK等开发工具包无缝集成。 5. **部署和打包...

    4 份j2me资料,据我学习j2me经验,总结一些必读的书.

    这本书可能会涵盖2D游戏设计原则,如精灵动画、碰撞检测、游戏循环和用户输入处理,同时也可能讲解如何利用MIDP2的特定功能来提升游戏性能和用户体验。 4. **calf1.01a.pdf** 这个文件名看起来不太符合常规书籍的...

Global site tag (gtag.js) - Google Analytics