日期:2014-05-20  浏览次数:20794 次

关于J2ME中蓝牙应用程序开发的问题(在线等)
既然java有虚拟机,J2ME又是虚拟机上封装的协议框架,JSR-82又是其中的可选包,那么支不支持JSR-82应该是说虚拟机吧,不应该说是手机是否支持吧?
但看书时发现一句"设备需要同时实现蓝牙API和蓝牙技术才能运行蓝牙程序",难道这个“实现蓝牙API”是要手机支持蓝牙API吗?
1.请问高人,支不支持JSR-82到底是说虚拟机还是说手机等设备啊?
2.要是指虚拟机的话,如果不能运行蓝牙程序,那么换一个java虚拟机是否就能解决呢?
3.要在手机上运行自己编写的蓝牙程序,到底需要哪些条件或者环境?

------解决方案--------------------
设备需要同时实现蓝牙API和蓝牙技术才能运行蓝牙程序
这句说明不但得虚拟机支持,手机也得支持
1.支不支持JSR-82说的是虚拟机
2.如果手机支持蓝牙技术的话,那么换一个虚拟机就行了(前提是手机能更换虚拟机,如:WindowsMobile手机)
3.支持JSR-82的虚拟机以及支持蓝牙技术的手机
------解决方案--------------------
目前为止的WM的CLDC-JAVA虚拟机还不支持JSR-82,CDC的已经支持了
------解决方案--------------------
jsr82只是定义了javame调用的api,这些api的实现是需要调用平台的蓝牙协议栈的

1.请问高人,支不支持JSR-82到底是说虚拟机还是说手机等设备啊?
至少从硬件上说,需要蓝牙设备,平台需要有蓝牙协议栈,在java层实现有jsr82的api。但是如果一个手机说支持jsr82,那么它必然会有蓝牙设备和蓝牙协议栈。

2.要是指虚拟机的话,如果不能运行蓝牙程序,那么换一个java虚拟机是否就能解决呢?
如果你的平台有蓝牙设备和蓝牙协议栈的话,那么移植一个实现了jsr82的jvm过去,是可以跑的。

3.要在手机上运行自己编写的蓝牙程序,到底需要哪些条件或者环境?
如果是java me的程序,那么是需要实现jsr82。或者严格说,是同时需要有蓝牙设备,蓝牙协议栈和jsr82
如果不是java me的程序,那么需要将程序移植到平台上,可以直接调用平台提供的bt的api