动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.Developer产品简介.
.ORACLE DATE和TIMESTAMP数据类型.
.Oracle 9i 审计.
.oracle 日期函数介绍.
.SQL Server中的Datediff移植到OR.
.Oracle快速入门.
.Oracle笔记-自治事务.
.必须引起DBA重视的Oracle数据库碎.
.Oracle 中DECODE 函数的使用简介.
.Oracle9i数据挖掘介绍.
.浅谈Oracle数据库的建模与设计.
.如何在硬碟建置Linux系统之setup.
.Windows环境下Oracle监听服务启动.
.Oracle与MySQL删除字段时对索引和.
.理解数据库的统计集聚函数.
.Solaris下Oracle的基本操作.
.Developer 6i Web发布配置范例(上.
.ORACLE在HP_UX下的系列问题处理(.
.解决oracle10g安装后的中文显示乱.
.Oracle的实体化视图管理.

解析 KJava 在移动设备开发支持中的应用

发表日期:2008-2-9 |



  摩托罗拉A6288、388型手机的登场,伴随着一个亮点:自身带有KJava虚拟机(KVM),能够通过多种方式下载且能够运行用户用KJava编写的符合MIDP1.0规范的应用程序。后来,又有多款手机支持KJava。 实际上,KJava不仅能够为A6288等手机编写应用程序,而且还可以为其它一些移动信息设备编写应用程序。这类嵌入式程序和一般的Java程序相比,有它的非凡之处,本文将对KJava及其应用进行介绍。
  
  1.KJava简介
  Java语言最初是为嵌入式系统设计的一项产品,在Java 2中为了区分各种不同的应用,又细分成了Java 2 Enterprise Edition(J2EE)、Java 2 Standard Edition(J2SE)和Java 2 Micro Edition(J2ME)三种版本,其中J2ME又称作KJava。
  
  在J2SE中,它定义了Java规范的核心类函数库(即Java.*)和扩展类函数库(即Javax.*),它主要定位在客户端的应用程序。J2EE主要定位于服务器端的应用程序,它除了支持J2SE所定义的核心类函数库之外,还增加了一些扩展函数类库,如支持Serverlet/jsp的Javax.servlet.*等。J2ME只支持J2SE所定义的核心函数类库的一部分,此外,在J2ME中还增加了一些支持嵌入式系统的扩展类函数库,如Javax.microedition.*等。
  
  同样是嵌入式设备,它们在运算能力、电力供给等方面还是有很大的差别。Connected Limited Device Configuration(CLDC)规范描述的就是那些运算能力有限、电力供给有限的嵌入式设备,如手机等;而Connected Device Configuration(CDC)规范则描述的是像电视机顶盒这样运算能力较强、电力供给充足的系统。J2ME分别支持这两种不同的配置。在同一种配置下,J2ME又通过Profile来定义与特定嵌入式设备相关的扩展类函数库。
  
  在传统的Java环境中,为了防止程序在传送途中被篡改以及其它一些安全上的考虑,当程序被类别载入器载入后,紧接着要进行Byte Code审核,审核通过以后才答应Java虚拟机执行它。这一操作在PC机上执行从速度上来看没有什么问题,但是在CLDC所描述的这类系统中,要想作完全相同的处理,从处理能力和速度上来看就显得有些力不从心了。为了解决这个问题,程序设计人员需要在程序设计结束之后额外再多做一件事:预先审核。通过预先审核,会在最终的类文件中加入一些非凡的符号,当该程序下载到目标平台上去执行时,可以以较快的速度完成审核操作。
  
  2. Motorola SDK
  下面以摩托罗拉A6288型手机为例来具体讲解KJava的程序设计。在摩托罗拉A6288中使用了两颗CPU,一颗是Dragon Ball VZ 33MHz,用于个人数字处理,另外一颗用于通讯的处理。系统为用户预留了约1M的内存空间,支持符合MIDP 1.0规范的KJava应用程序。我们可以到摩托罗拉的官方网站去下载开发工具:CodeWarrior(试用版),下面的内容就是基于这一开发工具。
  
  在CodeWarrior中,它包含了摩托罗拉的SDK,它实现了CLDC和MIDP 1.0。它所实现的CLDC类库有Java.io.*、Java.lang.*、Java.util.*和Javax.microedition.io.*,实现的MIDP类库有Javax.microedition.lcdui.*、Javax.microedition.rms和Javax.micromedition.midlet。
  
  我们在PC环境下编写的嵌入在浏览器中的Java程序叫做Applet,编写的程序必须要从Applet类扩展自己的类。而为手机这类移动信息设备编写的KJava程序叫做MIDlet,程序必须要从MIDlet类扩展自己的类。一个MIDlet程序具备如下的典型结构:
  
  
  public class HelloWord extends MIDlet
  {
  HelloWord()
  {……}
  
  public void startApp()
  {……}
  
  public void pauseApp()
  {……}
  
  public void destroyApp(boolean unconditional)
  {……}
  }
  
  当程序被启动时,startApp()被系统调用。(当程序刚开始运行时有启动过程,程序被暂停后也可以被再次启动)。当程序被暂时停止运行时,pauseApp()被调用。当程序执行结束时destroyApp()被调用。我们可以根据实际情况在各函数中进行相应的处理。

  
  在摩托罗拉SDK中没有AWT或者SWING,因为它们的实现会耗费太多的资源,摩托罗拉SDK只是在Javax.microedition.lcdui中实现了基于LCD的一些比较简单的设计用户界面的功能。SDK中定义了各种Displable类(如Form),程序中当前显示的画面必须是某个Displable的实例,在该实例中可以再放置按钮、文本编辑框、单选框等UI。
  
  3. 举例
  下面是用KJava编写的一个可以在A6288型手机上运行的简单的例子。具体程序如下:
  
  import Java.io.*;
  import Javax.microedition.lcdui.*;
  import Javax.microedition.midlet.*;
  
  public class HelloWorld extends MIDlet implements CommandListener
  {
  
  private MainCanvas myCanvas;
  private Display myDisplay;
  private Command c1,c2,c3;
  
  HelloWorld()
  {
  myCanvas=new MainCanvas();
  myCanvas.addCommand(c1=new Command("First",Command.SCREEN,1));
  myCanvas.addCommand(c2=new Command("Second",Command.SCREEN,1));
  myCanvas.addCommand(c3=new Command("Third",Command.SCREEN,1));
  myCanvas.setCommandListener(this);
  myDisplay = Display.getDisplay(this);
  myDisplay = Display.getDisplay(this);
  }
  
  public void startApp() throws MIDletStateChangeException
  { myCanvas.setUp("first");
  myDisplay.setCurrent(myCanvas);
  }
  
  public void pauseApp() { }
  
  public void destroyApp(boolean unconditional) { }
  
  public void commandAction(Command c,Displayable d)
  { myCanvas.setUp(c.getLabel()); }
  
  class MainCanvas extends Canvas
  { String ts;
  
  MainCanvas()
  { super();
  ts=new String("first");
  }
  
  public void setUp(String s)
  { ts=new String(s); }
  
  public void paint(Graphics g)
  { g.setColor(0xFFFFFF);
  g.fillRect(0, 0, getWidth(), getHeight());
  g.setColor(0);
  g.drawString("Current is the "+ts,getWidth()/2,60,
  Graphics.HCENTER Graphics.TOP);
  }
  }
  }
  
  程序运行后,可以根据用户选择的不同菜单项显示不同的内容。
上一篇:使用 Jbulider 开发 J2ME 移动游戏程序 人气:457
下一篇:J2ME 带给移动支付的优势解析 人气:560
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-7 Web Wiz Forums(论坛系统) v9.53
2008-10-7 Web Wiz Forums(论坛系统) v9.53
2008-10-7 Web Wiz Forums(论坛系统) v9.53
2008-10-7 HDWiki v4.0.1 bulid 081007 UTF
2008-10-7 迅易评选投票管理系统 v10.0
2008-10-7 HDWiki v4.0.1 bulid 081007 GBK
2008-10-7 Bitrac单用户博客 v1.14 bulid 0
2008-10-7 OpenX(广告管理系统) v2.6.2 多国
2008-10-7 乐铺网店系统免费普及版 v3.41
2008-9-29 酷狗音乐(原KuGoo)2008 v5.310 正
2008-9-29 QQTab 1.1
2008-9-29 网络传送带 Net Transport 2.64a
2008-9-29 谷歌金山词霸v1.8
2008-9-29 TweakVI 1.0 Build 1090
2008-9-29 ACDSee Pro 2.5 Build 333 汉化绿
2008-9-29 Winamp v5.541(2189) 周明波简体
2008-9-27 CCleaner 2.12.651
2008-9-27 Mozilla Thunderbird 2.0.0.17 英
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成