国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Java嵌入式開發(fā)(1)

2019-11-18 10:48:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  簡(jiǎn)介使用java編寫Palm OS程序的解決方案
  現(xiàn)在,使用Java語(yǔ)言為 Palm OS編寫程序的領(lǐng)域還沒有完全統(tǒng)一,并且也有許多程度上的差異,目前,市面上有好幾種不同的可用的應(yīng)用程序接口,每種應(yīng)用程序接口都給出了一個(gè)到當(dāng)前的Palm OS應(yīng)用程序不同程度的訪問權(quán)限。也許這其中大家最熟悉的是Sun微系統(tǒng)出品的產(chǎn)品;但是能夠?yàn)镻alm OS寫程序的絕不只有這一種產(chǎn)品。本文這一部分并不是介紹使用Java編寫Palm程序的教程--因?yàn)槊糠N我們將要討論的解決方案都有自己的要求和值得注重的地方--而是一篇向開發(fā)者概括介紹開發(fā)工具的的文章,我們將縱觀這一領(lǐng)域,找出在使用 Java語(yǔ)言開發(fā) Palm OS應(yīng)用程序時(shí),你應(yīng)該使用什么工具以及你又能夠得到什么。
  
    一、Sun的解決方案: KVM、 Configuration和 PRofile
  
    KVM是 Kilobyte Virtual Machine (千字節(jié)虛擬機(jī)),那么命名是因?yàn)樗膬?nèi)存大小是以千字節(jié)來(lái)量度,而不是像 Java虛擬機(jī)那樣需要兆字節(jié)。 因?yàn)橛羞@么苛刻的內(nèi)存要求, KVM的功能只是完整 JVM的的子集。 你可以從 Javasoft站點(diǎn)上找到全部的信息,但是值得注重的是它遺漏了映射(reflection)、 JNI和自定義類裝載器以及一個(gè)可變的安全機(jī)制。
  
    Sun已經(jīng)制訂一個(gè)計(jì)劃,提供了 configuration和 profile來(lái)滿足設(shè)備程序設(shè)計(jì)的需要。 configuration是一個(gè)應(yīng)用程序接口,是設(shè)計(jì)來(lái)提供一個(gè)基礎(chǔ),用于一類廣泛的一般的設(shè)備,所有的這些設(shè)備都有相似的特性,比如說(shuō)有限的內(nèi)存,偶然性強(qiáng)的網(wǎng)絡(luò)連接性,低電力消耗,可運(yùn)行在電池上,所以,J2Me被設(shè)計(jì)得既一般又抽象。 現(xiàn)在 Java 2 Micro Edition(J2ME)可用的 configuration有 CLDC(Connected,Limited Device Configuration)和 CDC(Connected Device Configuration)兩種,后者用于比 Palm功能更強(qiáng)大的設(shè)備,這就超出了我們討論的范圍;而前者,代表有限連接設(shè)備配置,是像PDA,雙通道呼叫器以及移動(dòng)電話。 CLDC包括一個(gè)J2SE中的類的子集,但是有一些重要的差別,例如,因?yàn)樾⌒驮O(shè)備中的虛擬機(jī)使用的無(wú)用單元收集機(jī)制,CLDC的 java.lang.Object不包含 finalize方法,你應(yīng)當(dāng)記住,這個(gè)應(yīng)用程序接口中的某個(gè)特定的類可能出現(xiàn)但是它的某個(gè)方法卻沒有出現(xiàn)。請(qǐng)參考應(yīng)用程序接口文檔,這樣的話你就會(huì)知道什么時(shí)候該用什么configuration了。
  
    對(duì)于許多剛開始使用 CLDC開發(fā)程序的朋友,感到希奇的是 CLDC不支持浮點(diǎn)數(shù)。 這是 KVM默認(rèn)的實(shí)現(xiàn), KVM是使用 C編寫的,它可以被移植到許多平臺(tái)上,它不支持浮點(diǎn)運(yùn)算,這是因?yàn)槲覀兯鎸?duì)的硬件一般是小型設(shè)備,有的還是使用8位的處理器,這些處理器有可能不支持浮點(diǎn)運(yùn)算。
  
    profile是非凡的具體的,它的目標(biāo)是一個(gè)比configuration更具體的設(shè)備的類,包括用戶界面和事件處理元素,這在 configuration中是沒有出現(xiàn)。 現(xiàn)在, Palm OS或 PDA沒有公開可用的 profile。
  
    Java Community Process有一個(gè)已經(jīng)開發(fā)了一段時(shí)間的 PDA Profile, 開發(fā)者們?nèi)匀辉诘却粋€(gè)新的 PDA profile版本。與此同時(shí),想要遵循 KVM/Sun解決方案開發(fā)者的應(yīng)當(dāng)做什么呢? CLDC版本包括一個(gè)可以用作 Palm OS的 最原始的profile的類的最小的集合, 據(jù)悉, Sun不贊同使用這些類開發(fā)任何商業(yè)程序,他們也不計(jì)劃對(duì)這個(gè)應(yīng)用程序接口做任何更新。 但是假如沒有 PDA profile,開發(fā)者也可以使用這些類庫(kù)。 通常我們所知的是Kjava,它包含了許多 GUI類: CheckBox、 RadioButton、 List等等。除了這些,還有 Spotlet類,它被用于處理事件以及 Palm OS捕捉手寫筆的輸入和鍵盤按下的事件等等。
  
    下面是一個(gè)使用 kjava來(lái)顯示簡(jiǎn)單的文本字符串和按鈕的類:
  
  import com.sun.kjava.*;
  
  public class HelloKjava extends Spotlet
  {
   private static Button OKButton;
   public static Graphics g = Graphics.getGraphics();
    file://取得Graphics對(duì)象
  
   public static void main(String args[])
   {
    HelloKjava hk = new HelloKjava();
   }
  
  
   public HelloKjava() file://HelloKjava類的構(gòu)造方法
   { OKButton = new Button("OK", 84, 140);
    register(NO_EVENT_OPTIONS);
    drawScreen();
   }
   public void penDown(int x, int y) {
    if (OKButton.pressed(x,y)) {
     System.exit(1);
    }
   }
   public void drawScreen()
   {
    g.clearScreen(); file://清除屏幕
    g.drawString("Hello KJava",20, 10); file://把字符串畫在屏幕上
    OKButton.paint();
   }
  }
  
    還有一個(gè)類 com.sun.kjava.Database,它在一種到達(dá) Palm數(shù)據(jù)庫(kù)應(yīng)用程序接口的方法。 這就是說(shuō),它是非常原始的并且不提供訪問存在Palm數(shù)據(jù)庫(kù)中的任何內(nèi)容完全的權(quán)限。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宾川县| 邛崃市| 邢台县| 尚志市| 思南县| 蓬溪县| 吉木乃县| 阿瓦提县| 福海县| 无锡市| 洛扎县| 勐海县| 桐庐县| 日喀则市| 饶阳县| 合江县| 洪江市| 万盛区| 凌云县| 乌鲁木齐市| 广丰县| 石台县| 东台市| 武平县| 和林格尔县| 韶关市| 隆尧县| 偃师市| 扎赉特旗| 交城县| 邢台县| 尚志市| 绍兴市| 临清市| 翼城县| 桐城市| 都昌县| 沾化县| 怀安县| 天峻县| 天门市|