1 / 35

物流信息的确认流程

物流信息的确认流程. 开发手机应用软件用于信息的发布和确认 开发信息平台功能用于向手机发送确认信息。. 授课内容. J2ME 开发环境的安装与配置 简单手机应用程序的开发 MIDP 应用程序的开发. 安装开发环境. 在进行 J2ME 程序需要开发的时候,使用的开发工具分为两类: 通用开发工具 —— 适合所有手机的通用工具 ; 专用开发工具 —— 适合某种型号的手机的开发工具,例如 Nokia 。 软件部分 Microsoft Windows XP eclipse 3.2.2 eclipseme 1.6.7

Download Presentation

物流信息的确认流程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 物流信息的确认流程 • 开发手机应用软件用于信息的发布和确认 • 开发信息平台功能用于向手机发送确认信息。

  2. 授课内容 • J2ME开发环境的安装与配置 • 简单手机应用程序的开发 • MIDP应用程序的开发

  3. 安装开发环境 • 在进行J2ME程序需要开发的时候,使用的开发工具分为两类: • 通用开发工具——适合所有手机的通用工具; • 专用开发工具——适合某种型号的手机的开发工具,例如Nokia。 • 软件部分 • Microsoft Windows XP • eclipse 3.2.2 • eclipseme 1.6.7 • wtk2.5 (Sun Java Wireless Toolkit 2.5 for CLDC)

  4. 安装配置步骤 1.安转Eclipse3.2.2(必须先安装jdk1.5或以上版本)2.安装EclipseMe1.6.7 3.安装WTK2.5 4.测试HelloWorld

  5. 配置具体步骤 1.1 安转Eclipse3.2.2把下载到的zip文件解压后直接放到c盘根目录即可,当然,你可以放到你喜欢的任何地方,这里为了描述方便放到c:\eclipse1.2 运行eclipse,如果能正常启动,说明jdk安装正确.

  6. 配置具体步骤 1.3 把eclipse1.6.7 解压到一个临时目录中,把目录和文件plugins      features      site.xml全部copy到eclipse的目录中即可1.4 启动eclipse3.2.2 从菜单 windows->Preferences...进入      在Preferences面板的左边的树状目录中,应该多了一个J2ME项

  7. 配置具体步骤 1.5 继续安装WTK2.5 ,把主目录安装到C:\WTK25下,其他的按默认安装就行1.6 修改Eclipse的配置,使其邦定EclipseME框架1.6.1 在eclipse的配置目录configuration中找到配置文件config.ini      1.6.2 用文本编辑器打开,增加一个属性定义osgi.framework.extensions=eclipseme.core.hooks如果该属性已经存在,则把值eclipseme.core.hooks加上            注意:这一行必须加在config.ini的eof=eof前面,不能加到后面。否则,可能会导致Eclipse启动失败。1.6.3 保存config.ini      1.6.4 重新启动 eclipse

  8. 配置具体步骤 1.7 修改eclipse的build path 和debug选项1.7.1 把源代码和输出分离开1.7.1.1 从菜单 windows->Preferences...进入1.7.1.2 展开references面板的java项,然后点选 build path        1.7.1.3 默认情况下 "source and outpub folder"项的 "project"为选中,我们修改这个默认设置,把"folders"选中             这样,就可以让eclipse把源代码和输出分离开。

  9. 配置具体步骤 1.7.2 修改调试选项的异常挂起设置和超时时间(很重要)1.7.2.1 从菜单 windows->Preferences...进入1.7.2.2 展开references面板的java项,然后点选 debug        1.7.2.3 在Suspend Execution项中,把 "Suspend execution on uncaught exceptions"                "Suspend execution on compilation errors"这两项的勾去掉1.7.2.4 在面板的最下面,把 debugger timeout(ms)设置为 15000(这个参数太重要了,一定要记得改)

  10. 配置具体步骤 1.8 为eclipseme配置模拟器1.8.1 从菜单 windows->Preferences...进入1.8.2 在references面板左侧的树种,展开 "J2ME" 项1.8.3 选中 Devices Management,点击右边的 "Import..."按钮1.8.4 在弹出的Import Device 面板中,点击按钮"browse...",然后选择WTK的bin目录,确定后,点击" refresh"按钮           就会自动去找到模拟器了。点击“finish”按钮返回。1.8.5 这样,模拟器就配好了,如果需要其他的模拟器,照这样做就可以了。

  11. 配置具体步骤 1.8 为eclipseme配置模拟器1.8.1 从菜单 windows->Preferences...进入1.8.2 在references面板左侧的树种,展开 "J2ME" 项1.8.3 选中 Devices Management,点击右边的 "Import..."按钮1.8.4 在弹出的Import Device 面板中,点击按钮"browse...",然后选择WTK的bin目录,确定后,点击" refresh"按钮           就会自动去找到模拟器了。点击“finish”按钮返回。1.8.5 这样,模拟器就配好了,如果需要其他的模拟器,照这样做就可以了。

  12. HelloWorld程序 1.创建J2ME项目 在开发一个J2ME程序时也要首先新建一个项目(工程)所有后续的编码、调试和运行都是在这个工程中进行。在启动Eclipse后,点击"文件"菜单下"新建"菜单弹出的"项目"菜单项。将弹出新建项目向导对话框.

  13. HelloWorld程序  首先需要指定创建的是什么项目,展开J2ME项目,选中J2ME Midlet Suite子项后进入下一步。该向导页(如下所示)用来设置项目名称和项目存放路径。一般取缺省路径即可。 运行程序>

  14. Display类 • Display类 • 在用户界面中,Display提供在移动设备上显示组件的功能,在每个MIDlet应用程序中只有一个Display实例,必须通过Display.getDisplay(MIDlet)方法来获得Display实例,MIDlet获得Display实例后,它将一直占有,直到MIDlet调用destroyApp(boolean)方法。 Display display= Display.getDisplay(MIDlet); • Display可以设置手机当前的显示屏的对象,方法是: Display.set.Current(屏幕对象);

  15. Display类 import javax.microedition.midlet.MIDlet; import javax.microedition.lcdui.*; public class DisplayMidlet extends MIDlet { private Display display; public void startApp() { display = Display.getDisplay(this); ... } ... }

  16. J2ME概述 Sun Microsystems 将 J2ME 定义为“一种以广泛的消费性产品为目标的的高度优化的 Java 运行时环境,包括寻呼机、移动电话、可视电话、数字机顶盒和汽车导航系统。” 自从 1999 年 6loper Conference 上声明之后,J2ME 为小型设备带来了 Java 语言的跨平台功能,允许移动无线设备共享应用程序。有了 J2ME,Sun 已经使 Java 平台能够适应集成了或基于小型计算设备月在 JavaOne Deve的用户产品。

  17. J2ME、J2EE、J2SE的比较 • J2SE (The JavaTM 2 Platform, Standard Edition) • 是Java的标准版本,它主要应用于桌面应用程序的编程。 • J2EE (The JavaTM 2 Platform,Enterprise Edition) • 是目前比较流行的多层企业应用技术。 • J2ME (The JavaTM 2 Platform,Micro Edition) • 是当前使用比较多的基于移动设备开发技术。

  18. J2ME、J2EE、J2SE的比较

  19. J2ME的体系结构 • J2ME应用程序的体系结构主要分为四个部分:操作系统、Java虚拟机、CLDC/CDC和MIDP应用程序。

  20. KVM虚拟机 • KVM的名字反映了这些设备的存储量是以千比特倍数来度量的。KVM虚拟机适用于拥有16/32比特的RISC/CISC微处理器或控制器,总的存储器只有160K左右,其中128k用来存放虚拟机和各种库的设备。 • KVM不支持以下的功能: • 不支持浮点数; • 不支持线程组(Thread Groups)和守护线程(Daemon Threads); • 不支持映射(Reflection); • 有限的错误处理机制。

  21. CLDC/CDC • CLDC(Connected limited device configuration,有限连接设备配置):这个配置定义了 Java应用程序接口以及支持手持设备的技术,就像Sun的文档中所描述的那样,"devices that you hold in your hand(你握在手中的设备)"。CLDC是为使用较小的存储容量的设备设计的,用于内存在128到 512K之间的消费电子设备,智能手机、Palm序列手持设备可能是这一领域的设备的最好的例子。 • CLDC中包含: • java.io. • java.lang • java.util • javax.microedition.io

  22. MIDP MIDP(Mobile information devices profile,移动信息设备简表):第一个实现的简表,补充了CLDC并且提供应用程序语义和控件、用户界面、持久存储器、网络和用于移动电话的计时器、双通道呼叫器和其他无线电设备。类似于J2SE中的Applet框架,它提供了基于javax、microedition、midlet包的MIDLet应用程序框架。在MIDP中定义一些APIs,包含: • javax.microedition.lcdui; • javax.microedtion.midlet; • javax.microedition.rms。

  23. MIDLet MIDLet:MIDP应用程序称为 MIDlet,为了创建一个MIDlet,就必须写一个扩展基本 MIDlet类的类。这有点类似常见的Applet或Servlet。MIDlets独有的东西是把多个MIDlet组成一个MIDlet套件的能力。这就允许MIDlet在一个单独的JVM环境中共享资源,比如一个数据库等等。

  24. J2ME中不同简档之间的比较 • 目前有两种比较流行的简档,一种就是本文介绍的MIDP,一种是KJava,这两种简档各有优点。MIDP不依赖任何设备生产厂商,它是一种普遍的工业标准,基于MIDP简档开发的程序可以在任何设备上运行。KJava中的APIs主要是Sun公司特别制定的,KJava主要运行在Palm OS上,KJava有点象J2SE中的AWT,它并不是J2ME中的标准包,并且它的主包是com.sun.kjava。

  25. MIDlet概述 • MIDlet简介 • 移动信息设备简表 (MIDP) 适合类似于蜂窝电话和寻呼机这样的设备。MIDP,就象 KJava一样,同样也建立在 CLDC 之上。MIDP简表提供一种标准的运行时环境,允许在终端用户设备上动态地配置新的应用程序和服务。 • MIDlet是一个Java类,它扩展了javax.microedition-.midlet.MIDlet抽象类。实现startApp()、pauseApp()和destroyApp()方法,这三个方法构成了MIDlet应用程序的生命周期。 • 复习抽象类相关知识。

  26. MIDlet应用程序 • 步骤1:进入开发环境。 • 步骤2:建立工程。 • 步骤3:设置配置。 • 步骤4:添加代码。

  27. Command程序 • import javax.microedition.lcdui.Command; • import javax.microedition.lcdui.CommandListener; • import javax.microedition.lcdui.Display; • import javax.microedition.lcdui.Displayable; • import javax.microedition.lcdui.Form; • import javax.microedition.midlet.MIDlet; • import javax.microedition.midlet.MIDletStateChangeException; • public class aaa extends MIDlet implements CommandListener { • private Display display; • private Form f; • private Command c; • public aaa() { • // TODO Auto-generated constructor stub • display=Display.getDisplay(this); • }

  28. Command程序 protected void destroyApp(boolean arg0) throws MIDletStateChangeException { • // TODO Auto-generated method stub • } • protected void pauseApp() { • // TODO Auto-generated method stub • } • protected void startApp() throws MIDletStateChangeException { • // TODO Auto-generated method stub • f=new Form("J2ME学习"); • f.append("JAVA精品课程"); • c=new Command("确定",Command.SCREEN,1); • f.addCommand(c); • f.setCommandListener(this); • display.setCurrent(f); • } • public void commandAction(Command c,Displayable d) • { • f.append("确定按钮己响应"); • } • }

  29. MIDlet生命周期 Midlet框架提供以下的几个方法,可分别使Midlet进入不同的状态: 活跃:protectedvoid startApp() 暂停:protectedvoid pauseApp() 销毁: protectedvoid destroyApp(boolean arg0)

  30. MIDlet生命周期

  31. MIDlet生命周期 运行状态(Active) 当程序成功的调用startApp()方法时,程序将会进入运行状态。startApp()方法可以正常结束,在这种情况下,可能允许MIDlet 运行,也可能会通知MIDP 平台MIDlet 不希望此时运行。为实现后者,有如下几种方法:

  32. MIDlet生命周期 • 如果startApp()方法检测到一个使之终止执行的错误条件,但是它以后可能不再出现(即一个临时错误条件),则需要抛出一个MIDletStateChangeException异常。这将把MIDlet 移回至暂停状态,从而在以后可以再来启动; • 如果startApp()方法检测到一个错误条件,而且不可能恢复(即非临时错误条件),它应当调用其notifyDestroyed()方法; • 最后,MIDlet可能会抛出MIDletStateChangeExcep- tion以外的某个异常,可能是故意为之, 也可能是由于它调用的某个方法抛出了此异常, 而且startApp()方法未捕获到此异常。在这种情况下,则假定出现了一个严重错误,通过调用destroyApp()方法来销毁此MIDlet。

  33. 暂停状态(Paused) 当MIDlet应用程序处在初始化时或者处在静止状态时,MIDlet处在暂停状态。处在暂停状态的MIDlet不会占用或者使用任何共享资源。在以下情况时会出现暂停状态: • 加载MIDlet 时,最初是处于暂停状态,这是程序通过默认的构造方法来调用。此时如果程序抛出异常,MIDlet将会有暂停状态马上转入销毁状态,销毁应用程序; • 当应用程序在活动状态时成功调用pauseApp()方法时,MIDlet将会有运行状态马上转入暂停状态;

  34. MIDlet生命周期 • 销毁状态(Destroyed) MIDlet处在销毁状态时,程序将会释放所有的资源,并同时终止运行。在以下情况时,程序会进入销毁状态: • 当MIDlet调用了destroyedApp(false)方法或者MIDlet抛出MIDletStateChangeException异常时,MIDlet将会释放所有资源; • 当MIDlet成功调用了notifyDestroyed()方法时。

  35. MIDlet应用程序的框架 import javax.microedition.midlet.*; class XXX extends MIDlet { 初始化模块; MIDlet生命周期的实现; 其他方法; 事件处理; } startApp() pauseApp() destroyApp( boolean b )

More Related