电话:0731-83595998
导航

让JavaME程序实现真正RunAnywhere

来源: 2017-12-22 09:23

 百度广告

  "Write once,run anywhere" 是JAVA的口号,但在J2ME平台上做的应用,要想不改动代码就run anywhere,难度是很大的。如果要把一个应用程序做到让大多数的机型都适用,就要考虑到方方面面,其难度是相当大的。 

  比如给百宝箱做游戏,上线机型大多是MIDP1。0的机器,感觉移植中最麻烦的还要数声音部分的API,必须根据各个机型来改动。虽然图象还比较容易做成自适应的,但声音部分就一般就只能根据各个机型来改动。 

  下面提供一种解决方案,可以让J2ME程序在运行时自动加载该机型支持的声音资源并用该 

  机型的声音API来播放。 

  关键问题:  
1.各机型提供的播放音乐的API都有所不同,特别是较老的机型。  
需要在运行时根据机型自动加载。  
  各机型的JVM不同,多多少少有一些比较特别的BUG。  
解决方案:  
1. 原则:能用标准API就用标准API,不能用的话,就用各个机型自身的API。  
// Player types 

static final int STANDARD = 0; //For MIDI

static final int NOKIA = 1; //For ott

static final int SAMSUNG = 2; //For mmf

static final int NEC = 3; //For MIDI

static final String supportedPlayerTypes = { 

"javax.microedition.media.Player", //STANDARD API

"com.nokia.mid.sound.Sound", // Nokia

"com.samsung.util.AudioClip", //samsung

"com.nec.media.AudioClip", //nec

}; 

下面利用反射机制来动态加载:  
public void determinePlayerType() {

// use most -> less use

isSupportSound = true;

for (int i = 0; i 

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端