亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

解析 KJava 在移動設備開發支持中的應用

2024-07-21 02:39:04
字體:
來源:轉載
供稿:網友

  摩托羅拉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);
  }
  }
  }
  
  程序運行后,可以根據用戶選擇的不同菜單項顯示不同的內容。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人xvideos免费视频| 欧美成人中文字幕在线| 欧美日韩aaaa| 亚洲色图15p| 亚洲精品www久久久久久广东| 国产日韩综合一区二区性色av| 91国产视频在线播放| 日韩美女视频免费在线观看| 91亚洲精品视频| 国产主播精品在线| 亚洲图片制服诱惑| 福利微拍一区二区| 日本国产欧美一区二区三区| 日本国产精品视频| 亚洲毛片在线观看.| 国产欧美日韩中文字幕| 性色av一区二区三区| 全亚洲最色的网站在线观看| 97成人精品视频在线观看| 欧美国产精品人人做人人爱| 国内精品久久久久久影视8| 国产人妖伪娘一区91| 欧美国产日产韩国视频| 欧美午夜激情小视频| 色天天综合狠狠色| 欧美一区二粉嫩精品国产一线天| 国内精品久久久久影院优| 欧美人与性动交a欧美精品| 亚洲第一级黄色片| 国产日韩一区在线| 久久久久久成人| 色偷偷888欧美精品久久久| 在线亚洲男人天堂| 一本一本久久a久久精品综合小说| 亚洲人成电影网站色…| 2019中文字幕在线免费观看| 中文字幕一区二区三区电影| 性日韩欧美在线视频| 亚洲综合av影视| 欧美成年人视频网站| 欧美一区二区视频97| 中文字幕一区日韩电影| 亚洲mm色国产网站| 国产成人精品国内自产拍免费看| 亚洲缚视频在线观看| 日韩视频精品在线| 亚洲精品一区二三区不卡| 亚洲人成在线观看网站高清| 亚洲91av视频| 国产精品欧美激情| 欧美日韩在线影院| 欧美福利视频在线| 一区二区三区国产在线观看| 欧洲中文字幕国产精品| 亚洲在线观看视频| 日韩欧美在线视频| 欧美人在线观看| 欧美放荡办公室videos4k| 亚洲成人激情视频| 欧美刺激性大交免费视频| 精品久久久久久国产| 91在线高清视频| 久久久国产精品亚洲一区| 国产美女久久精品| 2019中文字幕在线观看| 欧美成人激情视频| 日韩免费在线播放| 亚洲天堂成人在线| 亚洲专区在线视频| 欧美一级黑人aaaaaaa做受| 日韩中文字幕国产| 中日韩美女免费视频网址在线观看| 亚洲黄色av网站| 久久国产精品久久久久| 久久视频在线免费观看| 欧美午夜电影在线| 欧美怡红院视频一区二区三区| 国产精品福利网站| 精品网站999www| 欧美黄色片免费观看| 亚洲高清免费观看高清完整版| 91久久久久久久久久| 日韩激情在线视频| 成人黄色在线播放| 国产日韩欧美91| 国产91在线播放九色快色| 日韩免费观看av| 国内精品小视频在线观看| 欧美裸身视频免费观看| 日韩精品免费在线视频观看| 欧美视频国产精品| 亚洲一区二区三区乱码aⅴ| 亚洲精品国产精品久久清纯直播| 日本一区二三区好的精华液| 深夜精品寂寞黄网站在线观看| 日韩美女中文字幕| 国模极品一区二区三区| 精品亚洲永久免费精品| 欧美日韩激情视频| 久久成人综合视频| 福利视频导航一区| 91在线观看免费高清完整版在线观看| 久久久久久久久久久久久久久久久久av| 欧美孕妇与黑人孕交| 在线观看免费高清视频97| 日韩人在线观看| 亚洲成人久久电影| 亚洲www永久成人夜色| 欧美极品美女视频网站在线观看免费| 在线不卡国产精品| 亚洲在线免费视频| 国产综合香蕉五月婷在线| 久久免费国产精品1| 日韩精品极品在线观看播放免费视频| 成人h视频在线| 亚洲激情视频在线| 日韩免费av片在线观看| 成人黄色免费片| 欧美精品激情在线| 国产视频亚洲视频| 奇米4444一区二区三区| 中文字幕亚洲天堂| 亚洲精品电影网站| 欧美性猛交xxxx免费看久久久| 日韩欧美国产中文字幕| 91人成网站www| 亚洲在线视频观看| 日韩www在线| 亚洲精品资源美女情侣酒店| 91久久久亚洲精品| 亚洲精品www久久久| 精品久久久久久国产91| 国产成人精品免高潮在线观看| 欧美影院成年免费版| 日韩精品中文字幕在线播放| 欧美乱妇40p| 97在线观看视频国产| 国产一区二区三区三区在线观看| 亚洲色图18p| 精品在线小视频| 国产精品网红福利| 国内揄拍国内精品| 国内精品伊人久久| 国产成人精品久久二区二区| 97久久久免费福利网址| 久久在线精品视频| 国产精品99久久久久久久久| 日韩最新中文字幕电影免费看| 国产日韩中文字幕在线| 国产主播在线一区| 国产丝袜一区二区三区免费视频| 亚洲深夜福利视频| 亚洲国语精品自产拍在线观看| 在线观看欧美日韩| 97精品国产97久久久久久免费| 久久午夜a级毛片| 98视频在线噜噜噜国产| 日韩精品极品毛片系列视频| 91精品国产成人www| 欧美猛交ⅹxxx乱大交视频| 亚洲网在线观看| 国产精品久久久久久久久久| 欧美激情视频免费观看| 91av在线不卡|