一,DoJa技术简介
简单的说,DoJa是日本最大的移动通讯公司NTT DoCoMo的专利技术。而i-mode是该公司对于移动通讯2.5G阶段的一种应用模式,这个技术覆盖很多方面。i-mode初始于1999年,而i-mode与JAVA结合诞生的i-appli服务初始于2001年,以JAVA为开发语言的i-mode被称为DoJa技术,DoJa技术实际上是基于CLDC规范之上的平台技术,与J2ME标准平台是平行。有独立的API类库。在J2ME标准平台上开发的移动通讯程序叫做MIDP程序,符合MIDP1.0或2.0规范。而在DoJa平台上开发的程序被叫做appli程序。DoJa现在已经有很多版本。最高版本DoJa4.0。
二,DoJaAPI预览
我们以现在通用的DoJa2.5版本的API为例,大致看一下它有哪些特色。
2.5版本包括下面几个包:
包含了可以控制设备的类,比如camera类 | |
包含一些在CLDC的GCF( Generic Connection Framework)框架之下的类 | |
包含语言类 | |
包含了用于网络通讯方面的类 | |
包含了一些创建用户界面可选的类 | |
包含了可创建3D图形的类,也是可选的 | |
包含了一些可使用于本地终端功能的类,像操作手机电话本,收发Email等。 | |
包含了一些用于创建用户界面的类 | |
包含一些工具类 |
可以看出DoJaAPI比标准J2ME更加丰富。一般在开发和移植过程中,经常遇到的类库就是com.nttdocomo.ui包,所以我们大致看一下这里面都有哪些类。
这个包中包含了appli程序的入口类, Iapplication类,appli程序的用户界面(GUI)也分高级界面和低级界面,只不过他们的继承关系有些混乱,比如Component类是定义用于高级界面的抽象类,它有九个子类。包含一些按钮,标签,文本框的一些类。实际上就是一些组件。不是容器类。而Frame类也是一个抽象,意思是可表示为一个框架或容器。
它的子类有Canvas,Dialog,Panel.其中Dialog和Panel属于高级界面类,而Canvas则用于低级界面。用于显示界面的类叫Display,而它的显示屏幕的方法为setCurrent(Frame f),里面的参数为Frame类对象。说明像Component类型的子类是不能独立显示在界面上的,要通过Frame子类中的高级界面类来填加。也就是必须放在Panel上面,才能被显示出来。
其它的还有用于画图的Graphics,Graphics2D,Graphics3D类,负责加载媒体资源的MediaManager类等等。因为类很多,而且功能复杂和强大,就不一一介绍了,可以参考API文档进一步学习。
三,appli程序开发
下面我们通过一个小程序来讲解如何开发一个appli的程序。工欲善其事必先利其器,我们要下载一个DoJa的专用模拟器才行。
好在DoJa的API文档和模拟器以及使用方法在http://www.doja-developer.net都已经给全了。下载对应DoJa2.5版本的模拟器。名字叫javaappli Development Kit for DoJa-2.5版本为 1.03,然后安装上就可以了。
打开模拟器,会出现类似WTK的窗口,不同的是一个手机模拟器的窗口也会一起出现,而且还有个命令行模式的窗口。
仔细看一下,其实界面功能挺简洁的,菜单栏有文件,工程,编辑,设备,帮助几个选择,工具栏包括新建项目,打开项目,ADF配置,创建,运行这些选项。下面还有一些运行模式的选择。当然这些项目都是英文的。
什么是ADF配置呢,这里讲一下appli的安装程序也包括jar打包文件和一个描述文件,不同的是这个描述文件的类型为.jam.而ADF中的设置就是相当于WTK中的setting.也就是用于jam文件描述的项目。
好了,我们先新建立一个工程,点new project,会出现一个提示窗口,让你输入工程名称,上面还有一个参考工程的选择,这个不用管它。我们的工程名就叫Test_doja. 点create创建。
然后在这个窗口会显示一些我们创建的信息。比如我的模拟器安装路径是D盘根目录。那么会显示下面信息:
Placed java source files in D:jDKDoJa2.5appsTest_dojasrc
Placed resource files in D:jDKDoJa2.5appsTest_doja
es
Placed Scratchpad file in D:jDKDoJa2.5appsTest_dojasp
说明在模拟器的apps目录下,就是我们创建的工程目录。里面还有三个文件夹,scr用来放.java文件,res用来放资源,sp用来存放Scratchpad文件。这个Scratchpad这里要详细讲一下。
appli模式简单说就是客户手机通过连接 I ? mode服务器来获得其它的网络资源。这些资源可以来自不同的网站。手机用单独有一块类似硬盘的区域用来存储这些资源,叫做Scratchpad,一般的DoJa手机游戏都是先从网络上下载资源到Scratchpad里,然后再从Scratchpad中读取来用。而且Scrtchpad是可写的,可以保存游戏信息。