开发J2ME应用必须知道的一些问题

1. 什么是J2ME?
      答:J2ME是Java 2 Micro Edition的简称,是SUN推出的针对嵌入式消费类电子产品的开发平台,例如手机、PDA和电视机顶盒等。事实上,J2ME是一整套技术和规范的集合。

2. 开发J2ME应用程序使用什么开发环境?
      答:目前比较主流的开发环境有JBuilder、Eclipse、NetBeans和SUN Mobile等。本站推荐免费、开源功能强大的eclipse、NetBean,

3. Configuration 和Profile的区别和联系是什么?
      答:目前,根据目前市场上移动设备的硬件特性划分出两个主要的Configuration,一个是 Connected Limited Device Configuration和Connected Device Configuration,在Configuration层定义了Java的核心类库和虚拟机。而Profile则是根据设备的功能特性提供的一系列的 API,比如Mobile Infomation Device Profile(MIDP)。

4. 什么是可选包?
      答:由于设备的功能差别很大,如果用一个Profile进行概括不切合实际,因此根据不同的功能特性制定了相应的Profile,我们把他们叫做Optional Profile,比如Bluetooth。
      可以参考介绍J2ME可选包的概念。

5. J2ME中不支持浮点运算怎么办?
      答:由于硬件的原因,在CLDC1.0中没有提供浮点数的支持,但是在CLDC1.1中这个问题已经解决了,如果你基于CLDC1.0开发的话可以使用第三方的函数库比如mathfp。

6. 哪里可以找到Samsung SDK的参考API DOC?
      答:三星基本是依据一些规范来实现的,所以参考规范文档即可,同时在三星SDK的安装目录下面也有一些文档可以参考。

7. J2ME开发时,服务器端必须要在运营商注册吗?
      答:不需要

8. 如何在J2ME开发中使用混淆器?
      答:推荐使用Proguards,请参考使用Proguard混淆J2ME应用程序

9. 联网的程序编译通过,运行的时候提示block之类的错误
      答:联网应该在新线程中进行,检查一下自己的程序是否这么做的,关于联网可以参考本站专题

10. 出现无法创建MIDlet的错误提示如何解决?
      答:通常这样的问题是由于jad文件错误引起的,检查jad文件的Midlet-n的属性之是否正确

11. 如何把其他的图片格式转换为PNG格式的?
      答:可以用Photoshop

12. 如何获得当前手机屏幕的大小?
      答:使用Canvas类的getWidth()和getHeight()方法

13. 如何学好J2ME?
      答:推荐找本系统的书籍,另外多关注这个网站的知识库和论坛中的文章连载,一定会有你所需要的。

14. 能否使用eclipseME+WTK2.1进行J2ME应用程序调试(debug)?
      答:可以,注意选择windows->preferences->java->debug 不要选择suspend execution的前面两个选项,在debuger timeout选项中 第一个时间至少设置为15000ms 这样就可以调试了

15. 使用NetBeans和Eclipse开发J2ME应用程序,图片资源该如何处理并在程序中正常显示?
      答:请参考关于Jbuilder和Eclipse中使用图片的问题

16. 开发好的应用程序安装到手机的时候,会出现版本不合适等问题导致安装失败。
      答:通常这样的问题是由于真机支持的CLDC/MIDP版本和应用程序版本不一致造成的,如果你确认你的应用程序可以在真机上运行,那么请修改你的jad文件。

17. 如何在Eclipse中使用蓝牙包进行开发?
      答:三星SDK是支持蓝牙功能的,因此你需要使用EclipseME把它集成到Eclipse开发环境中,在新建项目的时候把 jsr082.jar加入到项目中,jsr082.jar的位置在/lib/jsr082.jar

18. 如何正确解决J2ME开发中的中文问题?
      答:请参考下面两篇文章,J2ME中文问题的解决方案 在J2ME中读取各种格式的文本文件

19. 如何接受GET方式传输过来的中文数据?
      答:推荐使用servlet规范中新推出的Filter组件,在Request传给servlet之前使用Filter对request进行编码的改变。

20. WAP开发和J2ME开发有什么异同?
      答:用J2ME开发手机应用程序进行联网的时候,这时候实际上是client-server构架的,由J2ME程序本身提供UI和联网等操作的,我们要写大量的代码。用wml或者jsp servlet asp php等开发wap应用程序的时候,是browser-server构架的。我们只需要提供server端的程序,这些程序通过手机中的wap browser来解释显示给用户,就像用IE访问一样。

21. ASP、PHP等技术可以用来和MIDlet进行联网通信吗?
      答:可以

22. 如何通过J2ME获得手机的号码?
      答:在J2ME提供的API中是不能实现这样的功能的,很多厂商可能会有自己的API来实现这样的功能,请参考他们的开发文档,另外,如果是c/s程序, 在服务器端可以通过移动网关取得大多数的手机号码.phoneNumber= request.getHeader("x-up-calling-line-id"); 其中request是HttpServletRequest的对象

23. MIDP2.0中提供的PUSH技术要在什么环境下才能正常工作?
      答:你必须把使用了PUSH的MIDlet Suite通过OTA的方式安装到手机模拟器上才可以,可以通过RUN via OTA(ktoolbar)

24. MIDP1.0中支持声音吗?
      答:MIDP1.0中不支持,在MIDP2.0中包括了MMAPI的一个子集用来处理音频方面的需求

25. 如何用J2ME访问手机文件系统上的文件?
      答:一般是不可以的,如果你的手机支持JSR75的话,那么你可以使用FileConnection来进行操作。

26. 怎样用eclipse打开一个用eclipse建的项目?
      答:File ——import ——existing project into workplace

27. 如何在J2ME中解析XML?
      答:可以采用第三方的程序kxml,如果手机支持jsr172的话那么可以使用j2me的标准库来完成。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值