当前位置:首页 > 全部子站 > IT > 思科认证

让JavaME程序实现真正RunAnywhere

来源:长理培训发布时间:2017-12-22 09:23:12

 百度广告

  "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 

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部