J2ME学习札记1

2016-02-19 14:02 5 1 收藏

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的J2ME学习札记1,过去的都会过去,迎接崭新的开始,释放更美好的自己。

【 tulaoshi.com - 编程语言 】


  J2ME就是Java 2 Platform,micro Edition的缩写。J2ME是Java 2的一个组成部分,与J2SE、J2EE并称。根据Sun Microsystems,Inc.的定义:J2ME是一种高度优化的Java运行环境,针对市面上的大量消费类电子设备,例如Papers、cellular phones(蜂窝电话), screen-phones(可视电话?)、digital set-top boxes(数字机顶盒)、car navigation systems(汽车导航系统)等等。
   J2ME技术在1999年的JavaOne Developer Conference大会上推出。J2ME技术将Java语言的与平台无关的特性移植到小型电子设备上,答应移动无线设备之间共享应用程为了学习J2ME技术,我需要安装什么样的软件?
  1)、J2ME Wireless Toolkit
  J2ME Wireless Toolkit简称J2MEWTK,目前最新的版本就是1.0.3 Beta,J2MEWTK有什么用?打
  一个比方,J2MEWTK之于J2ME程序的开发,就相当于JDK之于Java程序的开发。J2MEWTK是由Sun公司开发的,你可以到Sun的网站去下载,这个工具和JDK一样,是完全免费的。
  
  2)、J2SE SDK 1.3
  J2SE SDK 1.3亦即JDK 1.3,JDK有什么用?相信学过Java语言的人都知道,我就不多写了,在安装J2MEWTK之前,你必须确保你的系统已经安装了一个可用的JDK。建议不要使用JDK 1.2和JDK 1.4,前者版本低,后者不稳定。
  
  3)、Tomcat 3.2.3/4.0
  Tomcat 3.2/4.0用作服务器软件,为J2ME手机提供服务。由于手机的资源有限,所以我们需要尽量将商业计算集中于服务器端完成,减小客户端的负担,所以要开发J2ME程序,一个服务器软件是少不了的。我采用jsp作为服务器端的解决技术,所以我选用的Web服务器是Tomcat。但是你也可以选用IIS+ASP、Apache+PHP。这个选择不是唯一的。
  
  
  第一步,安装JDK 1.3.0或者安装一个包含JDK 1.3.0的软件。我安装了Jbuilder 5.0,它所带的JDK是HotSpot 1.3.0_01 Client版。
  
  第二步,安装J2MEWTK 1.0.3 Beta,在安装的过程中,需要选择系统中JDK的安装目录,安装程序一般可以自动查出来JDK的安装目录,我们不用操心。
  
  第三步,安装Tomcat 3.2.3/4.0,Tomcat 3.2.3是最稳定的3.x系列,推荐使用。Tomcat 4.0刚刚发布了正式版,也不妨一试。Tomcat 3.2.3/4.0需要经过配置,才能够运行。
  
  第四步,测试Tomcat是否能够正常运行JSP程序。这一步很重要。
  
  J2ME开发工具比较:
  1)、J2MEWTK,这个工具在前文已经提到过,它是最基本的J2ME程序开发工具,免费,体积小,速度较快,完全遵守J2ME的各种规范。具有简单的IDE界面,易于上手,开发十分方便快捷,可以和Forte 3.0捆绑。J2MEWTK适用于初学者和已经达到很高水平的开发者。窃以为J2MEWTK+JDK+Editplus/UltraEdit是绝配。评语:重剑无锋,大巧不工。
  
  2)、VisualAge Micro Edition 1.4。这是IBM的产品,号称是J2ME开发领域的TOP 1,但是我用
  了半天,也没有看出好在那里。马上就删除了。窗口太复杂,不明所以,开发起来很难适应,速
  度和J2MEWTK一样,比较庞大,装了这个东西,你的C盘就要小心了,多了很多乱七八糟的文件,还
  注册了许多COM组件,典型的非绿色软件。评语:!#$#%$#$%$#%@$@#。
  
  3)、CodeWarrior for Java 6.0。这是Motolola的产品,功能十分强大,集成度很好,开发,调试,发布J2ME程序都很方便(还可以做一般的Java Program)。它的IDE和Visual Studio十分相似,很轻易上手。CodeWarrior比较适合中等水平的开发者的使用。不过CodeWarrior不是免费软件,你只能够免费使用30天。评语:摩托罗拉CodeWarrior,随时随地J2ME。
  
  4)、Borland Jbuilder 5.0的Nokia Bobile版。没用过。评语:缺。
  
  在开发J2ME应用程序之前,我们必须选择这些程序运行的平台,亦即开发出来的J2ME程序运行在那一种手机或者是移动设备上面。在开发的过程中,我们需要对J2ME应用程序进行测试,当然了,自己拥有一款支持J2ME的手机是最好的,例如Motolola的i85s,但是这个要求不是每一个开发者都能够满足(我连手表都没有,更不用说手机了),因此,大多数的J2ME开发环境都提
  供了各种各样的手机、移动设备模拟器,你可以首先在手机模拟器上测试你的J2ME程序,开发完毕以后,再将程序交给专业的厂商(一般是移动设备提供商),由它们将程序载入手机中进行真实的程序测试。模拟器和真实的设备之间有一定的差别,但是你的程序只要在模拟器上通过了,那么问题不会很大。
   J2MEWTK提供六种模拟器,分别是:Default Color Phone、Default Gray Phone、Minimu
  m Phone、Motolola i85s、PalmOS Device、RIM Java Handle。这些模拟器虽然外观不一样,操作也不太一样,但是J2ME程序在其上运行的结果是不会有什么区别的,在真实的设备上也是没有什么区别的,这体现了Java的跨平台特性。你还可以自定义自己的手机模拟器,这在J2ME WTK的User Guide中有具体的描述。
   在开发过程中,选择何种模拟器是十分重要的,原则上来说,你为那一种设备开发程序,就要使用那一种设备的模拟器。但是J2ME程序在不同的模拟器上的运行效果基本上是一致,所以你也可以采用你自己喜欢的模拟器。我们推荐你选用RIM Java Handle模拟器作为开发的首选模拟器,因为它的屏幕很大,看起来很舒适(但是别忘了你的真实设备的屏幕大小)。
   在J2MEWTK中,可以设定缺省的模拟器,怎么设呢?从开始菜单选择J2MEWTK----Default
  Device Selection,在下拉列表框中选择模拟器的名字,然后单击OK按钮即可,J2MEWTK就会把这种模拟器认为是缺省的模拟器。你也可以在开发环境中每次手动选择模拟器,不过这样做显然比较麻烦。J2MEWTK在初始情况下,默认的模拟器是Default Color Phone,说实在话,我从来没有看见过这么难看的手机。
  
  现在开始尝试开发J2ME程序。我的选择是Windows XP 2600 Professional+J2SE SDK 1.3.
  0+Tomcat 4.0+J2MEWTK 1.0.3Beta。从开始菜单中选择J2MEWTK----Ktoolbar。Ktoolbar是J2MEWTK提供的一个简陋的IDE工具。
   进入Ktoolbar以后,观察窗口,在菜单的下面有四个按钮,分别是:
  New Project:创建一个新的项目。
  Open Project:打开一个项目。
  Setting:对当前项目的环境进行设置。
  Build:编译项目中的所有Java文件。
  Run:启动缺省的模拟器,将当前项目载入,运行。
  Clear Console:清除控制台输出。
   在上述按钮的下面,有一个下拉列表框,在这里你可以设置当前项目所使用的模拟器,这个设置可以覆盖缺省的模拟器。在此下拉列表框下面,是一个文本框,这就是所谓的控制台了。
  所有编译、运行信息都会在这个控制台中输出。你可以使用Clear Console按钮将控制台中的信息完全清除。
   现在来看看菜单。Ktoolbar的菜单极其简单,没有什么可说的。Project菜单的package菜单项的作用是将当前项目打包输出。这个菜单项非凡有用,当你完成项目开发之后,使用这个菜单项可以产生一个jar文件,这样就完成的项目的初步发布。
   现在来创建一个新的项目,单击New Project按钮,或者是使用File菜单的同名菜单项。出现一个新窗口。这个新窗口有两个文本框,第一个文本框是Project Name,输入fancy。第二个文本框是MIDlet Class Name,输入fancy.test.HelloWorld。然后单击OK,又出现一个对话框,要你配置项目的环境,不理,单击OK按钮关闭该窗口,回到Ktoolbar的主窗口。经过上述步骤,你已经创建了一个名为fancy的J2ME项目。
  
  安装J2MEWTK以后,你应该仔细浏览一下J2MEWTK的目录结构,这是一个很好的习惯。J2MEWTK的目录结构如下:
  appdb文件夹:里面有duke的一些靓照。
  apps文件夹:里面有J2MEWTK的一些例子程序,我们建立的项目文件也存放在里面。
  bin文件夹:里面全部是exe程序。
  docs文件夹:不用多说了,是地球人都知道。
  lib文件夹:存放MIDP API。
  wtklib文件夹:存放J2MEWTK用到的类库,以及一些资源文件,比如按钮的图标等等。
   在这些文件夹中,apps文件夹非凡需要留意,这个文件夹有下列子文件夹:
  example:存放J2MEWTK的例子,侧重于图形方面,例子比较大,复杂,难看懂。
  lib:空,不知道放什么东西。
  tmplib:空,不知道放什么东西。
  UIDemo:存放J2MEWTK的例子,侧重于用户界面设计方面。例子不大,难度中等。
  fancy:这个文件夹原来是没有的,当我们创建fancy项目的时候,J2MEWTK自动为我们创建的文
  件夹。
   进入fancy文件夹,它里面又有很多子文件夹,如下所示:
  bin:存放项目的打包输出文件。
  classes:存放编译器产生的class文件。
  lib:空,不知道有什么用。
  res:存放资源文件,例如项目中用到的图片。
  src:存放项目的源代码。
  tmpclasses:存放编译器产生的class文件,是classes文件夹的镜像。
  tmplib:空,不知道有什么用,是lib文件夹的镜像。
  
  现在该是使用J2ME说Hello World的时候了。选择你最喜欢的文本编辑器,例如Editplus,
  输入下面的代码:
  package fancy.test;
  
  import javax.microedition.midlet.*;
  import javax.microedition.lcdui.*;
  
  public class HelloWorld extends MIDlet implements CommandListener
  {
  private Display display;
  private Form props;
  
  private Command exitCommand = new Command("Exit", Command.EXIT, 1);
  
  public HelloWorld()
  {
  display = Display.getDisplay(this);
  }
  
  public void startApp()
  {
  props = new Form("Hello World");
  props.append("Hello World!");
  
  props.addCommand(exitCommand);
  props.setCommandListener(this);
  di

来源:http://www.tulaoshi.com/n/20160219/1606010.html

延伸阅读
一.代码优化 内存会溢出肯定和代码逃不了关系,99.99%学java的人都知道垃圾回收器是java的一大优点并据此来嘲笑C++。显然这个特性为代码编写者省了不少事,但这个特性却带来了不少隐患。举个例子在游戏当中经常有不同场景的切换,如从游戏逻辑退到主菜单逻辑,对游戏逻辑对象的态度很多人会选择忘记等待垃圾回收器来收尸。乍看之下似乎...
1.J2ME体系结构详解 2 Profile 2 Configuration 2 KVM(CVM) 2 Host Operating System 1)Configuration-----由于支持J2ME的硬件平台之间有很大差异 I.有比较高端的设备,例如:电视机顶盒、网络电视等-----是运算能力相对较佳、并且在电力供给上相对比较充足的嵌入式装置 II.也...
Java 2 Micro Edition (J2ME)是建立在一个由profiles,配置,虚拟机和主持操作系统等部分所组成的标准架构之上的。这些内容组成了完整的J2ME实时运行环境。图A显示了这些部分是如何结合在一起的。J2ME提供了两种配置:Connected Limited Device Configuration (CLDC)和the Connected Device Configuration (CDC)。这两种配置以设备的内存fo...
一.代码优化 内存会溢出肯定和代码逃不了关系,99.99%学java的人都知道垃圾回收器是java的一大优点并据此来嘲笑C++。显然这个特性为代码编写者省了不少事,但这个特性却带来了不少隐患。举个例子在游戏当中经常有不同场景的切换,如从游戏逻辑退到主菜单逻辑,对游戏逻辑对象的态度很多人会选择忘记等待垃圾回收器来收尸。乍看之下似乎并无不...
假如您曾经到http://www.Javasoft.com 网站上查询有关Java 2 Micro Edition 的资料,十之八九会被一大堆的技术名词搞的一头雾水。什么 KVM ,什么CLDC 、CDC 、MIDP ,后面还冒出了Personal Java 、Embedded Java以及JES 等名词。虽然名为Java 的微小版本,可是它的世界可真是不小,让我们满肚子「见山不是山,见水不是水」的迷惑。的确,在我刚...

经验教程

322

收藏

30
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部