透明 发表于 2015-1-18 11:35:43

JAVA教程之J2ME开辟情况搭建 之 Sun WTK

诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net里有这些工具吗?要简单多少?。甚么是J2MEWirelessToolkit

WTK的全称是SunJ2MEWirelessToolkit――Sun的无线开辟工具包,利用个中的工具能够开辟在与JavaTechnologyfortheWirelessIndustry(JTWI,JSR185)标准兼容的设备上运转的Java使用程序。该工具箱包括天生工具、有用程序和设备仿真器。到本文写作时为止能够猎取有四个版本,分离是1.0.4,2.0,2.1和2.2。每一个版本都包含英语,日语,简体中文,繁体中文4个语种包。

1.0.4版只可以开辟MIDP1.0使用程序。

2.0版只可以开辟MIDP2.0使用程序。

2.1版则能够同时开辟MIDP1.0,JTWI(CLDC1.0,MIDP2.0,WMA1.1,可改用CLDC1.1或到场MMAPI1.1),自界说(本人随机组合Configuration,Profile和OptionalPackage)三种情况。

2.2版中,WTK撑持MIDP2.0,CLDC1.1,WMA2.0,MMAPI1.1,WebServices(JSR172),FileandPIMAPIs(JSR75),BluetoothandOBEXAPIs(JSR82),and3DGraphics(JSR184);同时您也能够利用该版开辟面向CLDC1.0和MIDP1.0的使用程序。




体系请求上,WTK2.2最少必要50MB可用硬盘,128MB体系RAM和800MHZPentiumIIICPU。




你能够在sun的官方网站收费下载。

WTK2.2下载链接(必要先上岸):

http://sdlcweb3b.sun.com/ECom/EComActionServlet;jsessionid=FE979CDFE94DE539C8DE6CF74FED7878










第二节J2MEWTK的内容和文件布局

在申明WTK文件布局之前,让我们起首把它安装起来。

WTK的安装程序与一般程序一样复杂,只要一点必要注重,因为WTK本身并没有附带Java的运转情况JDK,以是,在WTK安装之前你必要安装本人的JDK(笔者这里选用的是JDK1.4.2)。

WTK会起首主动检测以后体系已有的Java假造机:



然后显现出以后假造机地点路径



您在断定无误后,就能够持续了,最初安装乐成后,您将失掉一个包含多种有用工具的开辟包。






不管哪一个版本的WTK城市包含以下几个目次:

appdb目次:RMS数据库信息

apps目次:WTK自带的demo程序

bin目次:J2ME开辟工具实行文件

docs目次:各类匡助与申明文件

lib目次:J2ME程序库,Jar包与把持文件

session目次:功能监控保留信息

wtklib目次:JWTK主程序与摹拟器表面




WTK是用来开辟MIDP的,为了让MIDlet能够顺遂编译和实行,WTK必需具有CLDC和MIDP的类库,WTK能够匡助我们省往分外安装调试这些类库的工夫。而分歧版本的WTK包括的程序库内容是纷歧样的,好比说2.0中包括了midpapi.jar,wma.jar,mmapi.jar,而在2.1中则变成了cldcapi10.jar,cldcapi11.jar,midpapi10.jar,midpapi20.jar,wma.jar和mmapi.jar;在2.2中,wma.jar又细分为wma11.jar,wma20.jar。假如您在开辟中必要某个特定的jar包而以后的WTK版本又没偶然,您能够复杂把这个jar包拷贝如以后WTK的lib文件夹便可。




apps目次中包含了很多Demo程序,为我们演示了J2ME的一些手艺实例,这些常常是很好的进修质料。










第三节利用J2MEWTK创立工程

创建新项目

上面让我们用WTK来创立一个典范的HelloWorld程序,看看这水有多深。

在WTK的程序列表中运转KToolbar,翻开WTK主界面。WTK的题目菜单复杂了然的列出了这个工具包的可选功效。

单击新建项目,键进新建的项目名和启动MIDlet名,这里的项目是一个MIDlet套间,一样平常情形下是与MIDlet文件(Java文件)同名。






发生项目今后,会呈现项目标设置表,您能够选择以后方针平台,CLDC设置,和要接纳的MIDP可选包。再不必要某个库文件时,请不要选中它,以削减最初程序巨细。

别的,您还能够指定MIDlet的属性,这些设置将成为JAD,即J2ME程序的形貌信息文档。

我们的HelloWorld今朝不必要别的的附加设置,因而接纳默许,断定以后,把持台信息提醒创建乐成。








WTK发生项目后,分歧范例的资本有着绝对流动的寄存地位。Java源文件被放在apps目次下HelloWorldsrc下,相干程序资本文件(图片,音频)放在HelloWorldes下,使用程序库文件放在HelloWorldlib下,这在WTK中是必需注重的,即使是绝对路径,也必需是在该范例目次下创建。




项目创立乐成后,我们来创立一个MIDlet文件,MIDlet是J2ME项目文件的出口文件,也是必需的。在HelloWorldsrc目次下创立HelloWorld.java,接纳默许包,注重,此时创立的java程序必需是与我们在创立项目时键进的MIDlet类名分歧。




在新创立的java文件中输出代码,下文是一个复杂的接待Form程序。

importjavax.microedition.lcdui.*;

importjavax.microedition.midlet.MIDlet;




publicclassHelloWorldextendsMIDlet{




Displaydisplay;


publicHelloWorld(){

super();

display=Display.getDisplay(this);

}




protectedvoidstartApp(){

Formform=newForm("HelloWorld!");

form.append("WelcometoJ2MEworld!");

display.setCurrent(form);

}




protectedvoidpauseApp(){




}




protectedvoiddestroyApp(booleanarg0){


}

}




完成后保留java文件,单击WTK的天生键,由WTK为您举行编译,假如有毛病天生,则会在把持台中提醒。






依据提醒信息对MIDlet文件举行修正,再从头天生,直到编译乐成。对编译乐成的程序,实行运转,能够看到弹出一个手机摹拟器,显现出我们的第一个HelloWorld程序,假如实行有错,仍然会在把持台中给出提醒信息。






开启旧项目

当我们下一次从头启动WTK的时分,选择翻开项目,WTK会把apps目次下的使用项目全体显现出来,包含我们方才创建的HelloWorld,选择载进后,就可以够从头运转了。












第四节实行MIDlet,打包和搅浑

实行MIDlet

除我们方才先容的在KToolbar中实行一个程序,我们还能够在程序组中间接选择RunMIDPApplication…,这是就能够在弹出的对话框当选择别的路径中的JAD程序运转了。











当我们间接选择运转时,必要注重两个成绩:

1.JAD形貌文件与其指定的JAR档案文件在统一个目次下。

2.运转目次路径中不要包括中文。

打包成JAR

KToolbar的天生功效只能帮我们将源代码编译并事后考核,其实不会帮我们发生JAR文件,而我们假如要公布MIDP程序,除JAD形貌文件,JAR是必需的,这就必要打包。

在KToolbar选中项目――包――发生包,能够把全部程序,包含资本文件打包成JAR文件。构成的JAR保留在appsHelloWorldin目次下。









包搅浑

在下面的操纵中,我们看到,除“发生包”,别的另有一个“发生搅浑包”选项。所谓搅浑,是为了避免他人反编译后读取源代码,将程序(.class文件)举行搅浑,经由搅浑的JavaByteCode能够增添他人反编译的工夫,即使反编译后,也会由于类名变更成没成心义的标记而增添了解源程序的难度。更进一步,因为搅浑年夜年夜延长的源程序中类,成员变量和办法称号,招致天生的JAR体积变小!

今朝一样平常对照经常使用的搅浑器是两款开源产物:ProGuard和RetroGuard,本文彩用前者作为示例,你能够在http://proguard.sourceforge.net/上猎取。

把方才猎取的ProGuard解压,在解压目次的lib子目次中找到proguard.jar文件,将其拷贝到WTK安装目次的bin下,再实行搅浑包。这是我们将会发明appsHelloWorldin下的JAR巨细变小了,反编译后的各个称号也变得毫偶然义了。









第五节WTK中别的值得存眷的功效

到这里,我们就怎样用WTK创立,实行,打包,搅浑一个MIDP项目做了对照具体的先容。除以上所说各点,WTK(2.2版)还供应诸多有用功效。这些都能够在编纂――偏好中找到。



比方,当我们必要监督程序功能的时分,能够选中“启用内存监督器”,鄙人一次摹拟器实行的时分,我们便可读出程序运转时的内存损耗均值,损耗峰值和详细发生对象的个数和利用情形。








除内存监督,我们还能够实行收集监督,设定存储区巨细和仓库巨细,设定平安署名和蓝牙操纵属性,以尽量摹拟手机实践运转情况,这些功效在进阶开辟中都长短常有用的。




注重:

固然WTK为我们供应了各类工具来摹拟手机运转情况,但在实践开辟中,因为遭到手机硬件,收集前提等诸多限定,MIDP的实在功能在分歧呆板上会呈现分歧的反响,与WTK中的体现大概不同更年夜。





专门做了这个例子;而java的这个例子好像就是为了教学而写的,很多教学目的的例子是不考虑优化、性能的。

深爱那片海 发表于 2015-1-20 16:09:13

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

蒙在股里 发表于 2015-1-21 16:13:38

是一种使用者不需花费很多时间学习的语言

因胸联盟 发表于 2015-1-25 16:56:21

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

莫相离 发表于 2015-1-28 13:49:34

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

小妖女 发表于 2015-2-5 14:47:38

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

谁可相欹 发表于 2015-2-7 06:08:46

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

简单生活 发表于 2015-2-27 07:49:06

一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从

再现理想 发表于 2015-3-3 14:59:19

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

乐观 发表于 2015-3-8 01:41:23

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

愤怒的大鸟 发表于 2015-3-13 00:07:25

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

飘灵儿 发表于 2015-3-13 23:07:22

是一种使用者不需花费很多时间学习的语言

金色的骷髅 发表于 2015-3-17 01:11:21

一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从

爱飞 发表于 2015-3-17 12:09:34

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

若天明 发表于 2015-3-26 22:16:43

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。

山那边是海 发表于 2015-3-27 20:10:40

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

海妖 发表于 2015-4-5 20:10:15

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

第二个灵魂 发表于 2015-4-13 02:20:59

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

透明 发表于 2015-4-23 13:57:09

你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
页: [1]
查看完整版本: JAVA教程之J2ME开辟情况搭建 之 Sun WTK