J2ME手机蓝牙娱乐平台 .doc

上传人:yyf 文档编号:5090013 上传时间:2020-02-01 格式:DOC 页数:30 大小:352.50KB
返回 下载 相关 举报
J2ME手机蓝牙娱乐平台 .doc_第1页
第1页 / 共30页
J2ME手机蓝牙娱乐平台 .doc_第2页
第2页 / 共30页
J2ME手机蓝牙娱乐平台 .doc_第3页
第3页 / 共30页
J2ME手机蓝牙娱乐平台 .doc_第4页
第4页 / 共30页
J2ME手机蓝牙娱乐平台 .doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《J2ME手机蓝牙娱乐平台 .doc》由会员分享,可在线阅读,更多相关《J2ME手机蓝牙娱乐平台 .doc(30页珍藏版)》请在三一文库上搜索。

1、基于 J2ME+蓝牙技术的休闲娱乐平台设计与实现 摘 要 随着手机的日益普及、Java 功能在移动设备上的实现,Java 应用程序产生的手机增值服务逐 渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。特别是手机性 能的逐渐增强,手机作为一个娱乐平台越来越成熟了。本课题着眼于 J2ME 技术的应用,利用 JSR082 蓝牙 Java API 的软件包,使这些移动设备交换任意的基于文本的消息,以及简单的游戏对 战,开发出一款可用的手机蓝牙娱乐平台。全文介绍了 J2ME 的相关技术及本程序的结构分析和具 体功能的实现。 关键词:J2ME;手机;蓝牙;娱乐平台 J2ME +

2、Bluetooth based Platform Entertainment Design and Implementation Abstract When mobile phone is getting ever more popular nowadays, with the implementation of Java technology on mobile equipment, increment of capital on communication service exhibits its force on peoples everyday life, providing them

3、 ever fast information just in hand. Mobile phone whose capability is greater is more and more mature for game. This dissertation focuses on implementation of J2ME technology,used JSR082 Bluetooth Java API to drive these investments exchange test messages,simpily multiply games by using client usefu

4、l Java API,to developed a Bluetooth Entertainment Platform run on mobile phones.This dissertation introduces J2ME and its relative technology as well as this programs structure and analysis of implementation in details. Keywords: J2ME; mobile phone;Bluetooth; Platform Entertainment I 目 录 1 1 引言引言- 1

5、 - 1.1 技术背景.- 1 - 1.2 开发意义.- 1 - 1.3 开发环境.- 1 - 2 2 J2MEJ2ME 理论及相关技术理论及相关技术- 2 - 2.1 概述.- 2 - 2.2 J2ME 蓝牙应用开发及其实现.- 2 - 2.2.1 J2ME 软件架构- 2 - 2.2.2 蓝牙技术- 3 - 2.2.3 JAVA蓝牙应用模型.- 3 - 2.2.4 JAVA蓝牙 API 概述.- 3 - 2.2.5 蓝牙应用的实现.- 4 - 3 3 系统分析与实现系统分析与实现.- 6 - 3.1 系统功能设计- 6 - 3.2 系统构架.- 6 - 3.3 系统实现.- 8 - 3.3

6、.1 MIDLET 主类- 8 - 3.3.2 蓝牙搜索与服务.- 9 - 3.3.3 聊天室实现.- 16 - 3.3.4 蓝牙五子棋实现.- 17 - 3.4 系统测试.- 19 - 4 4 结束语结束语.- 22 - 致致 谢谢.- 23 - 参考文献参考文献- 24 - 引言 - 1 - 1 1 引言引言 1.1 技术背景 随着无线技术的飞速发展以及移动信息技术的进一步成熟,出现了很多有关无线应 用开发的技术。从最简单的电视遥控器,到今天已经普及的手机。人们已经越来越习 惯于无线传输技术带来的种种方便。手机上网,似乎已经不是什么新概念了,传统的 方式就是用数据线或者计算机的红外线接口将

7、手机和笔记本电脑或其它的电脑设备相 连。但这两种方式都有很多的不便数据线太麻烦,红外线接口距离短不说,还要保 证连接时没有障碍物阻隔。本课题实现了另一短距离无线通信协议”蓝牙” ,蓝牙技术 具有无需通信费用、数据传输范围更大、安全性更好等特点,将成为各种便携式设备 进行无线连接的新标准。 1.2 开发意义 目前来看,移动电话是蓝牙技术的最大应用领域,也是已经有实际应用的领域。通 过在移动电话中植入蓝牙技术,可以实现无线耳机、车载电话等功能,还能实现与便 携式计算机和其他手持设备的无电缆连接,组成一个方便灵活的PAN,使人们能够随 时随地实现个人区域内语音和数据的交换与传输。随着技术的发展和完善

8、,蓝牙必将 对人们的生活和工作产生重大影响。 本课题是对蓝牙技术的一些实践,设计实现一个基于蓝牙的手机娱乐应用程序。程 序主要应用J2ME技术及其蓝牙规范。由于遵循移动信息设备配置(MIDP),所以该程序 可以被下载到拥有Java虚拟机的手机上运行,或直接在电脑上运行,实现手机间的蓝牙 聊天游戏功能。 蓝牙充当一个短距离的无线连接接口,该聊天应用程序在其形成的蓝牙无线个人局 域网(PAN)内,聊天信息的传输与一般聊天软件相比具有速度更快,成本和功耗更低并 且无费用的优点。 1.3 开发环境 软件环境: Windows7 Build 7100RC 32位版 Sun JDK 1.6 Eclipse

9、 3.5 pulsar for Mobile Java Sun Wireless Tool Kit 2.5.2 硬件环境: 基于AMD处理器64位PC 基于 J2ME+蓝牙技术的休闲娱乐平台 - 2 - 2 2 J2MEJ2ME 理论及相关技术理论及相关技术 2.1 概述 J2ME即JAVA 2 Micro Edition,它是Java 2的组成部分,与J2SE、J2EE并称。J2ME 是一种高度优化的Java运行环境,应用于大量的消费类电子设备,如Cellular Phones(蜂 窝电话)、Screen Phones(可视电话)、Digital Set-top Boxes(数字机顶盒)、C

10、ar Navigation Systems(汽车导向系统)等,同时也广泛被移动通信设备所采用,如移动电话、双向寻 呼机、智能卡、个人电脑记事本(Personal Organizer)和掌上电脑(Palmtop)等。J2ME技术 将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应 用程序。J2ME 使用配置和简表定制 Java 运行时环境 (JRE)。作为一个完整的 JRE,J2ME 由配置和简表组成,配置决定了使用的 JVM,而简表通过添加特定于域 的类来定义应用程序。 与以前 Sun 公司推出的J2EE (Java 2 Enterprise Edition,Ja

11、va 2企业版)、J2SE (Java 2 Standard Edition,Java 2标准版)规范相比,J2ME 不是一个单独的技术规范,而是一 系列技术规范总称。这些规范定义了 Java 技术在资源限制的设备中的表现形式。 J2ME 主要适用于小型嵌入式设备,这些设备与PC或是服务器设备相比没有统一的硬 件标准、外观与操作方式,其功用也是千差万别。但是J2ME 在适用于这些设备的同 时也保留了 Java 的传统特性,即任何时间和任何地点的代码具有可移植性、部署灵活 性、安全的网络传输性,以及代码稳定性。正是因为如此,开发人员才可以借助J2ME 力量让编写的程序能够运行在其他型号或厂商的设

12、备上。 2.2 J2ME 蓝牙应用开发及其实现 2.2.12.2.1 J2MEJ2ME 软件架构软件架构 J2ME平台由多种配置(Configuration)简表(Profile)和可选包(Optional Package)f 组成。表2-1为J2ME平台的体系结构。操作系统位于J2ME运行环境的最底层,操作系 统可以是Linux,Symbian或者PalmOS这充分体现了Java语言的跨平台性。配置由 Java虚拟机和一系列的API集合组成,为某一范围内的嵌入式设备提供基本的功能,这 些设备通常在硬件和软件上具有类似的特性。目前,J2ME平台主要包含两个配置:连 接设备配置(Connecte

13、dDeviceConfigurationCDC)和连接受限设备配置 (conneetedLimitedDevice Configuration。CLDC)。简表位于配置之上,为运行环境提供 高层的API,例如,应用程序模型和图形用户界面等。1CLDC上采用最广泛的简表是 移动信息设备简表(Mobile lnformationDeviceProfile,MIDP)。基于CLDC与MIDP的 J2ME平台主要面对的目标设备是移动电话。J2ME平台可以通过添加可选包 (OptionalPackage)进行扩展。可选包是针对特殊技术的实现。因此它定位的是特定范围 J2ME 理论及相关技术 - 3 -

14、的设备,而不适合作为一项固有功能定义在MIDP中。随着移动终端设备内存和处理器 能力的提高,越来越多的可选包被添加到具体的J2me平台上。 Optional Package Profile Configuration Java Virtual Machine Host Operating System 表2-1 J2ME平台的体系结构 2.2.22.2.2 蓝牙技术蓝牙技术 所谓蓝牙(Bluetooth)技术,实际上是一种短距离无线电技术,利用“蓝牙”技术,能 够有效地简化掌上电脑、笔记本电脑和移动电话手机等移动通信终端设备之间的通信, 也能够成功地简化以上这些设备与因特网Internet之间

15、的通信,从而使这些现代通信设 备与因特网之间的数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散 式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的 2.4GHz ISM(即工业、科学、医学)频段。其数据速率为1Mbps。采用时分双工传输 方案实现全双工传输。 2.2.32.2.3 JavaJava 蓝牙应用模型蓝牙应用模型 2002年4月5日。Java开发社区(JCP)发布了基于J2ME平台的蓝牙API规范 JSR82,这是第一个针对蓝牙开发环境的标准。蓝牙标准是一项开放的标准,由蓝牙技 术联盟(SIG,SpecialInterest Group)负责管理。蓝

16、牙技术的最新版本是2.0,但市场上的 蓝牙设备大都停留在1.1版本。开发基于蓝牙通信的应用程序通常采用客户端一服务器 的应用程序模型。服务(Service)是通信的核心所在,一个蓝牙服务就是一个作为服务器 运行的应用程序。这个服务向客户端提供某种功能性的服务。例如,客户端可以连接 打印机,使用它提供的打印服务。开发者一旦创建了一个服务之后需要首先把这个服 务注册到服务查找数据库(Service Discovery DataBase.SDDB)中,然后等待客户端连接。 客户端必须首先通过服务发现协议(SDP)查找到服务所在的设备,然后在设备上查询服 务。一旦获得了服务,也就获得了连接服务器的UR

17、L。借助通用连接框架的方法即可 获得相关的Connection权限,客户端就可以真正地使用服务器提供的服务了。 2.2.42.2.4 JavaJava 蓝牙蓝牙 APIAPI 概述概述 java蓝牙无线技术API定义在javax.Bluetooth和javax.obex内。Javax.bluetooth:包含 了核心的API。包括发现服务,设备管理,L2CAP等类。Javax.obex:一个不依赖于蓝 牙核心API的数据交换包,属于高级API。这个包并不是必需的。由于很少有主流移动 设备支持OBEX,本文主要讨论iavax.bluetooth包的实现。在javax.bluetooth中我们发现

18、, 基于 J2ME+蓝牙技术的休闲娱乐平台 - 4 - Java蓝牙API可以被分解为三个部分:设备管理,服务发现和连接。 2.2.52.2.5 蓝牙应用的实现蓝牙应用的实现 无论服务端还是客户端。蓝牙程序的第一步是进行初始化。该阶段主要是和 LocalDevice类打交道。首先通过getLocalDevice()方法取得LocalDevice实例对象,如果 是服务端,还需调用setDiscoverable ()方法设置好模式. private LocalDevice localDevice;/本地设备实例 String localBTAddress;/本地蓝牙地址 String localB

19、TName;/蓝牙名称 DiscoveryAgent agent;/发现代理 try localDevice=LocalDevice.getlocalDevice();/取得本地设备实例 If(!localDevice.setDiscoverable(DiscoveryAgent.GIAC) /设置服务器可发现 return false; localBTAddress=localDevice.getBluetoothAddess();/记录蓝牙地址 localBTName=localDevice.getFriendlyName();/记录蓝牙名称 agent=localDevice.getDi

20、coveryAgent();/取得蓝牙代理 catch(Exception e) System.err.println(“初始化蓝牙设备失败:”+e); 一个远端设备类RemoteDevice的实例代表了一个远端蓝牙设备。在一个蓝牙客户端 应用程序可以进行服务消费之前它必须发送一个设备请求来发现远端设备。典型 的蓝牙应用程序和远端设备之间的关系是一对多。 String remoteBTAddress;/远端蓝牙地址 String remoteBTName;/远端蓝牙名称 RemoteDevice remoteDevice;/远端设备 StreamConnection con;/连接 try c

21、on=(StreamConnection)Connector.open(url);/打开连接 J2ME 理论及相关技术 - 5 - remoteDevice=RemoteDevicegetRemoteDevice(con);/获取远端设备 remoteBTAddrem=remoteDevicegetBluetoothAddress();/取得远端设备蓝牙地址 remoteBTName=rvmoteMcegetFriendlyName(false);/取得远端设备名称 catch(Exception e) /处理异常 在蓝牙无线网络中。客户端通常不能直接得到服务端的蓝牙地址,而需使用服务发 现A

22、PI帮助客户端搜索周围提供的设备和服务。为了消费一项服务客户端通常需要经 过三个步骤:搜索设备搜索服务和连接通信。服务代理类(DiscoveryAgent)同时支持 设备与服务的发现。当设备和服务被发现时,想得到通知的客户端应用程序必须实现 并注册DiscoveryListener接口这个接口定义了设备发现通知和服务发现通知的回调。 服务器和客户端的连接:在连接的URL中主机名称告诉连接工厂是否它应该创建一 个客户端异或服务器端。如果使用单词localhost作为主机名将定义一个服务器连接。客 户端想要连接到一个指定的的服务可以通过调用ServiceRecord.getConnectionUR

23、L()来找 到该服务连接的URL。蓝牙可以支持两种类型的连接: (1)使用服务端连接:首先通过L2CAPconnectionNotifier或StreamConnectionNotifier 建立一个连接,同时创建一个蓝牙服务。L2CAPConnectionNotifier notifier=(L2CAPConnectionNotifier)Connectoropen(url);然后调用acceptAndOpen()方 法,该方法会自动将服务注册到蓝牙发现数据库中(SDDB)之后该服务就可以被客户 端搜索了。该方法同时返回一个用于通信的连接。L2CAPConnection con=notifi

24、er.acceptAndOpen(); (2)使用客户端连接:虽然客户端也是通过Connector.open(url)建立连接参数url通 常不是直接给出的,而是通过serviceRecord.getConnectionURL()得例如:String url=secviceRecordgetConnectionURL(int requiredSecurity,boolean mustBeMaster); L2CAPConnection con=(L2CAPConneetion)Connector.open(url); 基于 J2ME+蓝牙技术的休闲娱乐平台 - 6 - 3 3 系统分析与实现系

25、统分析与实现 3.1 系统功能设计 根据软件的开发目的,主要实现以下功能:用户登录,双人聊天室,多人聊天室, 双人五子棋对战,平台帮助。组织结构如图3-1: 图 3-1 用户登录模块:实现平台的蓝牙用户登录,区别不同的用户以及服务端。 聊天模块:实现平台的双人或者多人聊天功能。 游戏模块:实现平台的双人蓝牙对战五子棋功能。 帮助模块:平台的版本信息及游戏规则说明。 3.2 系统构架 平台设计所用技术与方法: (1)JSR82 蓝牙编程 API; (2)多线程编程模式; (3)客户端/服务器编程模式。 平台工程全部类结构图 3-2: 系统分析与实现 - 7 - 图 3-2 基于 J2ME+蓝牙技

26、术的休闲娱乐平台 - 8 - 3.3 系统实现 3.3.13.3.1 MIDLETMIDLET 主类主类 flat 包中的 FlatMainMDlet.java 文件中的 FlatMainMIDlet 类是整个程序的主类,功能 是控制整个程序的流程与个人子程序界面的显示。代码如下: package flat; import javax.microedition.lcdui.Display; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; /

27、* */* * FlatMainMIDlet 游戏娱乐平台的主类 * 责负整个平台的运作 */ public class FlatMainMIDlet extends MIDlet /*/*登录窗口*/ protected LoginWindow loginWindow = null; /*/*游戏娱乐平台的菜单*/ protected MainMenu flatMenu = null ; private boolean isFirst = true; public Display display = null; /* */* * 休闲娱乐平台的初使化 FlatMainMIDlet 的构造函数

28、 * 进行游戏的初始化 */ public FlatMainMIDlet() display = Display.getDisplay(this); /* */*程序结束*/ protected void destroyApp(boolean uncondition) throws MIDletStateChangeException notifyDestroyed(); /* */*程序暂停*/ protected void pauseApp() . 系统分析与实现 - 9 - /* */*程序开始*/ protected void startApp() throws MIDletState

29、ChangeException if(isFirst) loginWindow = new LoginWindow(this); display.setCurrent(loginWindow); isFirst = false; /* */*显示主菜单*/ public void showFlatMenu() if(flatMenu!=null) display.setCurrent(flatMenu); /* */*退出休闲平台*/ public void exitFlat() . try . destroyApp(true); catch (MIDletStateChangeExcepti

30、on e) . /*/*FlatMainMIDlet.java 文件结束*/ 3.3.23.3.2 蓝牙搜索与服务蓝牙搜索与服务 common 包中两个类对于整个系统来说是非常重要的,同时它们涉及到 JSR82API 的应用,所以这个包中的两个类的功能实现是一个技术点。先介绍 ServiceSearcher 类, ServiceSearcher 类实现两个接口,第一个接口是 Runnable,这样做的目的是使其成为一 个线程类,其它类调用它的时候就是会在后台产生一个任务线程。第二个接口就是 DiscoveryListener,目的是要利用 JSR82 中的 API,有关与蓝牙搜索设备与服务的模

31、式 与方法是不难理解的,具体的实现如代码所示,代码里边利用到了线程同步的机制, 还有如何获取用户服务记录属性的值方法。代码如下: package common; import java.util.Vector; import javax.bluetooth.BluetoothStateException; import javax.bluetooth.DeviceClass; 基于 J2ME+蓝牙技术的休闲娱乐平台 - 10 - import javax.bluetooth.DiscoveryAgent; import javax.bluetooth.DiscoveryListener; im

32、port javax.bluetooth.LocalDevice; import javax.bluetooth.RemoteDevice; import javax.bluetooth.ServiceRecord; import javax.bluetooth.UUID; * ServiceSearcher 类 * 用于搜索两种服务 * UUID-11111111111111111111111111111111 * 两个聊天室 * UUID-22222222222222222222222222222222 * 多个聊天室 public class ServiceSearcher implem

33、ents Runnable, DiscoveryListener . /*/*服务类型名*/ private String serviceName = null; /*/*聊天室列表类*/ private RoomList chatRoomList = null; /*/*本地设备*/ private LocalDevice localDevice = null; /*/*服务代理*/ private DiscoveryAgent agent = null; /*/*发现的设备*/ private Vector deviceFound = null; /*/*发现的服务*/ private V

34、ector serviceFound = null; public ServiceSearcher(String serviceName,RoomList roomList) . this.serviceName = serviceName; this.chatRoomList = roomList; /*/*开始搜索线程*/ new Thread(this).start(); /* */* * 开始搜索 */ public void run() . doSearchDevices(); /* */* * 服务记录搜索的方法 系统分析与实现 - 11 - */ public void doSe

35、archDevices(). try . localDevice = LocalDevice.getLocalDevice(); catch (BluetoothStateException e) . e.printStackTrace(); agent = localDevice.getDiscoveryAgent(); deviceFound = new Vector(); serviceFound = new Vector(); try . if(!agent.startInquiry(DiscoveryAgent.GIAC, this) . return; catch (Bluetoo

36、thStateException e) . /* */* * 服务搜索的方法 * param remoteDevice * return void */ public void doServiceSearch(RemoteDevice remoteDevice). /*/*服务记录属性值的 ID,用户自定义的属性值*/ int attributes = .0x1234,0x1235; /*/*服务记录的 UUID*/ UUID uuids = new UUID2; uuids0 = new UUID(serviceName, false); uuids1 = new UUID(0x1101);

37、 try . agent.searchServices(attributes, uuids, remoteDevice, this); catch (BluetoothStateException e) . /*/*服务搜索失败的处理*/ return; /* */* * 服务器设备发现的处理 基于 J2ME+蓝牙技术的休闲娱乐平台 - 12 - * param remoteDevice, deviceClasss * return void */ public void deviceDiscovered(RemoteDevice remoteDevice, DeviceClass devic

38、eClass) . /*/*加入搜索到的服务器设备*/ deviceFound.addElement(remoteDevice); /* */* * 服务器设备搜索到服务设备的处理 * param disType * return void */ public void inquiryCompleted(int disType) . switch(disType) . /*/*成功完成搜索的处理*/ case DiscoveryListener.INQUIRY_COMPLETED: for(int i= 0; ideviceFound.size(); i+). doServiceSearch(

39、RemoteDevice)deviceFound.elementAt(i); /*/*实现一次搜一个服务器设备的服务记录的同步*/ synchronized(this). try . this.wait(); catch (InterruptedException e) . e.printStackTrace(); addRoomMessage(); break; case DiscoveryListener.INQUIRY_TERMINATED: break; case DiscoveryListener.INQUIRY_ERROR: break; /*/*不利用服务搜索完成方法*/ pub

40、lic void serviceSearchCompleted(int transID, int respCode) . 系统分析与实现 - 13 - /* */* * 搜索到服务的处理 * param tarnsID, serviceRecord * return void */ public void servicesDiscovered(int transID, ServiceRecord serviceRecord) . /*/*加入搜索到的服务记录*/ serviceFound.addElement(serviceRecord0); /*/*实现一次搜一个服务器设备的服务记录的同步*

41、/ synchronized(this). this.notifyAll(); /* */* * 增加搜到的聊天室列表 * param 无 * return 无 */ private void addRoomMessage() . ServiceRecord tempRecord= null; chatRoomList.roomURLList = new StringserviceFound.size(); chatRoomList.roomNameList = new StringserviceFound.size(); /*/*删除原先的 String*/ chatRoomList.del

42、eteAll(); for(int i=0; iserviceFound.size(); i+) . /*/*获得服务器端的服务记录*/ tempRecord = (ServiceRecord)serviceFound.elementAt(i); /*/*获得服务器端的服务记录的链接字符串并加入到聊天室的链接列表*/ chatRoomList.roomURLListi= tempRecord.getConnectionURL( ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false); /*/*获得服务记录的用户自定义的服务属性并加入到聊天室名的列表*/ S

43、tring str =(String)(tempRecord.getAttributeValue(0x1234).getValue(); chatRoomList.append(str, null); chatRoomList.roomNameListi = str; /ServiceSercher.java 结束 基于 J2ME+蓝牙技术的休闲娱乐平台 - 14 - package common; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import j

44、avax.microedition.lcdui.Displayable; import javax.microedition.lcdui.List; import chat.MultiChatRoomClient; import chat.PairChatRoomClient; import flat.FlatMainMIDlet; import game.GameClient; /* */* * RoomList 类 * 显示蓝牙网络中开放的如娱乐房间的列表。 * 提供给用户选择进入感趣兴的娱乐房间。 */ public class RoomList extends List impleme

45、nts CommandListener . /*/*聊天室类型*/ private int roomStyle ; /*/*用户名*/ private String userName = null; /*/*娱乐平始的主类*/ private FlatMainMIDlet flatMainMIDlet = null; /*/*聊天室链接列表*/ public String roomURLList = null; /*/*聊天室名称列表,创建聊天室的用户妮称*/ public String roomNameList = null; private static final Command cmd

46、Back = new Command(“返出“,Command.BACK,1); private static final Command cmdOK = new Command(“进入“, Command.OK,1); /* */* * 构造方法 * 完成聊天室窗口的初使化 * param title * param flatMainMIDlet * param userName */ public RoomList(String title, FlatMainMIDlet flatMainMIDlet, String userName ,String uuidString, int roo

47、mStyle). super(title, List.EXCLUSIVE); this.flatMainMIDlet = flatMainMIDlet; this.userName = userName; this.roomStyle = roomStyle; 系统分析与实现 - 15 - append(“搜索房间中.“,null); addCommand(cmdBack); addCommand(cmdOK); setCommandListener(this); new ServiceSearcher(uuidString,this); private void showRoomClinet

48、(int index) . switch(roomStyle) . case 1: /*/*双人个聊天室*/ flatMainMIDlet.display.setCurrent( new PairChatRoomClient(roomURLListindex, flatMainMIDlet,userName,roomNameListindex); break; case 2: /*/*多人聊天室*/ flatMainMIDlet.display.setCurrent( new MultiChatRoomClient(roomURLListindex, flatMainMIDlet,userName,roomNameListindex); break; case 3: /*/*游戏聊天室*/ flatMainMIDlet.display.setCurrent( new GameClient(roomURLListindex, flatMainMIDlet); break; public void commandAction(Command command, Displayable displayable) . /*/*进入聊天室*/ if(command=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 绩效管理


经营许可证编号:宁ICP备18001539号-1