韩剧1988免费观看全集_久久影视三级福利片_亚洲视频在线观看免费_在线观看欧美日韩_国产亚洲激情在线_亚洲精品美女久久久_欧美国产日韩一区二区在线观看_91在线观看免费高清完整版在线观看_日韩av免费看_国产又爽又黄的激情精品视频_琪琪亚洲精品午夜在线_欧美性猛xxx_不卡毛片在线看_国产亚洲日本欧美韩国_91国内在线视频_精品国产福利视频

當前位置:蘿卜系統(tǒng)下載站 > 技術開發(fā)教程 > 詳細頁面

Java嵌入式開發(fā)之一 [轉自yesky]

Java嵌入式開發(fā)之一 [轉自yesky]

更新時間:2022-10-12 文章作者:未知 信息來源:網(wǎng)絡 閱讀次數(shù):

Java嵌入式開發(fā)之一

10/6/2001 10:28:6· ·wayne_z··yesky

1 2下一頁
  
簡介使用Java編寫Palm OS程序的解決方案


  現(xiàn)在,使用Java語言為 Palm OS編寫程序的領域還沒有完全統(tǒng)一,并且也有許多程度上的差異,目前,市面上有好幾種不同的可用的應用程序接口,每種應用程序接口都給出了一個到當前的Palm OS應用程序不同程度的訪問權限。也許這其中大家最熟悉的是Sun微系統(tǒng)出品的產(chǎn)品;但是能夠為Palm OS寫程序的絕不只有這一種產(chǎn)品。本文這一部分并不是介紹使用Java編寫Palm程序的教程--因為每種我們將要討論的解決方案都有自己的要求和值得注意的地方--而是一篇向開發(fā)者概括介紹開發(fā)工具的的文章,我們將縱觀這一領域,找出在使用 Java語言開發(fā) Palm OS應用程序時,你應該使用什么工具以及你又能夠得到什么。

  一、Sun的解決方案: KVM、 Configuration和 Profile

  KVM是 Kilobyte Virtual Machine (千字節(jié)虛擬機),那么命名是因為它的內(nèi)存大小是以千字節(jié)來量度,而不是像 Java虛擬機那樣需要兆字節(jié)。 因為有這么苛刻的內(nèi)存要求, KVM的功能只是完整 JVM的的子集。 你可以從 Javasoft站點上找到全部的信息,但是值得注意的是它遺漏了映射(reflection)、 JNI和自定義類裝載器以及一個可變的安全機制。

  Sun已經(jīng)制訂一個計劃,提供了 configuration和 profile來滿足設備程序設計的需要。 configuration是一個應用程序接口,是設計來提供一個基礎,用于一類廣泛的一般的設備,所有的這些設備都有相似的特性,比如說有限的內(nèi)存,偶然性強的網(wǎng)絡連接性,低電力消耗,可運行在電池上,所以,J2Me被設計得既一般又抽象。 現(xiàn)在 Java 2 Micro Edition(J2ME)可用的 configuration有 CLDC(Connected,Limited Device Configuration)和 CDC(Connected Device Configuration)兩種,后者用于比 Palm功能更強大的設備,這就超出了我們討論的范圍;而前者,代表有限連接設備配置,是像PDA,雙通道呼叫器以及移動電話。 CLDC包括一個J2SE中的類的子集,但是有一些重要的差別,例如,因為小型設備中的虛擬機使用的無用單元收集機制,CLDC的 java.lang.Object不包含 finalize方法,你應當記住,這個應用程序接口中的某個特定的類可能出現(xiàn)但是它的某個方法卻沒有出現(xiàn)。請參考應用程序接口文檔,這樣的話你就會知道什么時候該用什么configuration了。

  對于許多剛開始使用 CLDC開發(fā)程序的朋友,感到奇怪的是 CLDC不支持浮點數(shù)。 這是 KVM默認的實現(xiàn), KVM是使用 C編寫的,它可以被移植到許多平臺上,它不支持浮點運算,這是因為我們所面對的硬件一般是小型設備,有的還是使用8位的處理器,這些處理器有可能不支持浮點運算。

  profile是特殊的具體的,它的目標是一個比configuration更具體的設備的類,包括用戶界面和事件處理元素,這在 configuration中是沒有出現(xiàn)。 現(xiàn)在, Palm OS或 PDA沒有公開可用的 profile。

  Java Community Process有一個已經(jīng)開發(fā)了一段時間的 PDA Profile, 開發(fā)者們?nèi)匀辉诘却粋新的 PDA profile版本。與此同時,想要遵循 KVM/Sun解決方案開發(fā)者的應當做什么呢? CLDC版本包括一個可以用作 Palm OS的 最原始的profile的類的最小的集合, 據(jù)悉, Sun不贊同使用這些類開發(fā)任何商業(yè)程序,他們也不計劃對這個應用程序接口做任何更新。 但是如果沒有 PDA profile,開發(fā)者也可以使用這些類庫。 通常我們所知的是Kjava,它包含了許多 GUI類: CheckBox、 RadioButton、 List等等。除了這些,還有 Spotlet類,它被用于處理事件以及 Palm OS捕獲手寫筆的輸入和鍵盤按下的事件等等。

  下面是一個使用 kjava來顯示簡單的文本字符串和按鈕的類:

import com.sun.kjava.*;

public class HelloKjava extends Spotlet
{
 private static Button OKButton;
 public static Graphics g = Graphics.getGraphics();
  file://取得Graphics對象

 public static void main(String args[])
 {
  HelloKjava hk = new HelloKjava();
 }


 public HelloKjava() file://HelloKjava類的構造方法
 { 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();
 }
}

  還有一個類 com.sun.kjava.Database,它在一種到達 Palm數(shù)據(jù)庫應用程序接口的方法。 這就是說,它是非常原始的并且不提供訪問存在Palm數(shù)據(jù)庫中的任何內(nèi)容完全的權限。它只允許設置和獲得字節(jié)數(shù)組; 它不允許鍵入訪問,除了通過記錄標識號 (是一個整數(shù) )。 因為數(shù)據(jù)庫只能理解字節(jié)數(shù)組,給你的數(shù)據(jù)意味著你需要把這些字節(jié)數(shù)組解析成有含義的字段。

二、Kawt的解決方案

  Kawt也是 KVM的一個 Abstract Window Toolkit(抽象窗口工具包),Kaw為Java程序員提供了一個更加常見的應用程序接口集合,例如,它使用通用布局管理器 (除了 GridBag)來在屏幕上放置組件,此外它還允許你設置那些組件的監(jiān)聽者,換言之,Kawt中沒有包括 Spotlet機制。按鈕、面板、標簽以及文本框和其他的 AWT類都可用,而且,還可以有自定義類: FtpShel,TabbedPane和 GifLoader,還有一個類 java.io.File,它是一個使用標準的 Palm數(shù)據(jù)庫文件儲存資料的目錄或文件結構的抽象類。

  使用 Kawt,我們編寫出來的程序如下所示:

import java.awt.*;
import java.awt.event.*;

public class HelloKawt extends Frame implements ActionListener
{
Button OKBtn = new Button("OK");
Label lbl = new Label("Hello Palm");

public static void main(String args[])
{
new HelloKawt();
}

public HelloKawt()
{
OKBtn.addActionListener(this);
this.add("South", OKBtn);
this.add("Center", lbl);
pack();
this.show();
}

public void actionPerformed(ActionEvent ae)
{
System.exit(1);
}
}


  雖然 Kawt提供了一個比 kjava更好的類的集合,但是它實際上是基于 kjava的,因此,它缺少數(shù)據(jù)庫類。對于開發(fā) Palm程序來說,這是一個相當嚴重的問題。 通常來說,任何商用應用程序都需要把數(shù)據(jù)儲存在設備上,隨后還要與臺式機同步化, kjava.Database的同步化有點問題,因為它不包含 HotSync軟件期待的分類,它也不允許訪問每個包含最初記錄的 "本地 " palm數(shù)據(jù)庫文件的屬性位,即使使用了 PDA Profile版本,這些也不可能解決,因為 profile的目標是一般的 PDA而不是特別的 Palm OS。 然而, Kawt團隊畢竟也做了一件出色的工作,它使剛開始寫Palm程序的程序員很容易使用Java編程。

  三、IBM解決方案

  IBM有自己的虛擬機,叫J9---它在許多方面都優(yōu)于 KVM,Visual Age Micro Edition支持 J9,我們大家都知道, Visual Age Micro Edition是一個來自 Object Technology International的 IDE,而 Object Technology International又是 IBM擁有的子公司。 而 VAME是一個完整的開發(fā)工具,它可以給對 Palm OS應用程序接口完全的訪問權限, 然而,這需要付出一些代價。 雖然 VAME是一種 Java工具,它所提供的東西都是使用Palm應用程序接口的本地 C方法的包裝。 也就是說, VAME中調(diào)用的方法和你在 C中看到的方法完全相同。雖然理解你的應用程序所要運行的操作系統(tǒng)并不是一件壞事,但這需要你非常了解開發(fā) Palm的 C應用程序接口的方法特征,如果你只是一名Java開發(fā)者這就成了問題了。這個是一個缺點,開發(fā)VAME的工程師似乎發(fā)覺到了這一點,并嘗試著去改進。

  下面是一個使用 VAME編寫的例程:

import com.ibm.oti.palmos.*;
import com.ibm.oti.palmos.util.OSX;

public class HelloJ9 implements OSConsts {

public static void main(String[] args) {

 CharPtr title = new CharPtr("IBM Vame Demo");
 EventType event = new EventType();

 try {
  FormType form = OS.FrmNewForm(0, title, 0, 0, 160, 160,
                 0, 0, 0, 0);
  OS.FrmSetActiveForm(form);
  OS.FrmDrawForm(form);

  OSX.WinDrawChars("Hello J9!", 5, 30);

  while(true) {
   OS.EvtGetEvent( event, -1 );
   if (OS.SysHandleEvent( event )==0) {
    if (event.getEType() == appStopEvent) {
     OS.FrmEraseForm(form);
     OS.FrmDeleteForm(form);
     return;
    }
   }
  }


 } finally {
   title.dispose();
   event.dispose();
   OS.FrmCloseAllForms();
  }
 }
}

  正如你所看到的,這個程序與前幾個例子都不太一樣。 如果你能夠越過這個障礙,你的應用程序的性能將遠遠優(yōu)于一個基于 KVM的應用程序。 VAME其他與眾不同的優(yōu)點就是它可以訪問所有的本地應用程序接口調(diào)用,使用一個管道,你可以同步創(chuàng)建任何 Palm數(shù)據(jù)庫。

  四、Waba/SuperWaba 解決方案

  Waba是另外一種虛擬機。 在風格上, Waba有點像 Kjava和 Kawt的中間品。 它包含了比 kjava更多的 GUI組件,使用了坐標位置來在屏幕上放置組件,而不是像 kawt是使用布局管理器。Waba的優(yōu)點是它的速度,它的確比 KVM快了很多;而且,如果你認為你的應用程序可能不僅僅是只定位于 Palm OS, 你也可以使用Waba,因為Waba也可以在 Windows CE上運行。 Waba還有一種擴展,叫 Superwaba,它提供了更多的功能。

  這里有一個使用 Waba編寫的小型應用程序,它使用一個附加的類來設置標題:

import waba.ui.*;
import waba.fx.*;

public class HelloWaba extends MainWindow
{

Button closeButton;

public HelloWaba()
{
Title title = new Title("HelloWaba");
title.setRect(0, 0, this.width, 15);
add(title);

closeButton = new Button("Close");
closeButton.setRect(0, this.height - 15, 44, 15);
add(closeButton);
}

public void onEvent(Event event)
{
if (event.type == ControlEvent.PRESSED)
{
if (event.target == closeButton)
exit(0);
}
}
}

  Waba還有許多優(yōu)點:使用剪貼板拷貝和粘貼的能力,訪問系統(tǒng)鍵盤以便更容易輸入文本,而且還有一個類,封裝了一些虛擬機細節(jié),允許你確定虛擬機正在運行的平臺以及 ROM的版本。

  五、總結

  使用 Java編寫 Palm OS應用程序的解決方案取決于好幾個因素: 你的目標是否只是 Palm OS; 對于開發(fā)來說,速度和容易度那個更重要; 我們現(xiàn)在離最后決定使用什么解決方案開發(fā) Palm程序還很遠, 因為這一領域將來還會發(fā)生巨大的變化。以后的文章中,我要詳細介紹使用J2ME與Waba來編寫可運用于Palm OS或其它小型設備的應用程序。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
神马久久一区二区三区| 国产精品久久久久久久久久久免费看| 最新国产中文字幕| 麻豆电影在线播放| 超碰超碰超碰超碰| 亚洲天堂a在线| 国产专区视频| 91免费在线观看网站| 毛片毛片毛片毛片毛| 欧美日韩的一区二区| 亚洲欧美日韩精品久久亚洲区| 91在线短视频| 国产日韩精品推荐| 久久国产欧美| 亚洲精品免费播放| 三级成人在线视频| 国产精品老牛影院在线观看| 色网综合在线观看| 欧美日韩在线资源| 日韩欧美视频一区二区| 亚洲一区二区视频在线| 日本中文字幕在线免费观看| www.777色| 国产亚洲一本大道中文在线| 精品在线一区二区三区| 国产毛片一区二区三区va在线| 国产精品视频自拍| 国产sm精品调教视频网站| 国色天香2019中文字幕在线观看| 182在线视频观看| 天美一区二区三区| 久久久亚洲精品石原莉奈| 久久都是精品| 精品人妻午夜一区二区三区四区| 欧美日韩dvd在线观看| 精品亚洲欧美一区| 91精品电影| 国产精品久久一区主播| 日本黄色免费在线| 在线观看操人| 精品亚洲成a人在线观看| 欧美人与拘性视交免费看| 亚洲国产欧洲综合997久久| 国产a级黄色大片| 日韩视频国产视频| 亚洲一卡二卡三卡四卡无卡久久| 日韩一区欧美一区| 久草在线免费资源站| 91论坛在线播放| 日本欧美久久久久免费播放网| 曰本色欧美视频在线| 李丽珍裸体午夜理伦片| 久久porn| 日韩视频123| 欧美一区二区三区喷汁尤物| 波多野结衣 久久| 久久精品免视看国产成人| 女人高潮特级毛片| 久久久久久久久免费视频| 一区二区三区在线免费观看| 日韩在线第三页| av电影在线网站| 亚洲网址在线| 欧美精品国产白浆久久久久| 男女污视频在线观看| 欧美精产国品一二三区| 精品国产999| 中文字幕在线成人| 在线不卡中文字幕| 久久久久在线视频| 91精品国产91久久| 欧美国产精品专区| 国产三级小视频| 大香一本蕉伊线亚洲网| 亚洲网站在线播放| 最新国产在线视频| 亚欧美中日韩视频| 91av在线免费播放| 欧美一区二区三区在线电影| 久草在线资源网站| 免费精品99久久国产综合精品| 国产一区二区三区福利| 亚洲高清极品| 亚洲精品欧美激情| 在线免费视频你懂得| 成人春色激情网| 日韩不卡一区| blacked蜜桃精品一区| 老司机精品在线| 中文字幕乱码在线| 永久555www成人免费| 久久se精品一区二区| 四虎成人精品永久免费av| 国产一区福利| 成人av午夜影院| 亚洲在线电影| 香蕉久久久久久av成人| 亚洲午夜免费福利视频| 日韩精品视频播放| 开心激情五月网| 99热自拍偷拍| 欧美不卡激情三级在线观看| 亚洲成av人在线观看| 日本成人a网站| 91超碰rencao97精品| 黄页网站在线观看视频| 黄色永久免费网站| 在线观看免费视频国产| 日本一区二区三区dvd视频在线| 成人久久久精品乱码一区二区三区| 欧美极品一区二区| 久久99热在线观看7| 最近中文在线观看| 无码人妻久久一区二区三区| 91一区二区视频| 色婷婷成人综合| 美国毛片一区二区三区| 竹内纱里奈兽皇系列在线观看| 日本欧美不卡| 免费在线一区观看| 91社区在线观看| 91在线精品| 久久久精品国产99久久精品芒果| xfplay爱情电影网love| 欧美激情视频二区| 免费黄色福利视频| 久久在线免费视频| 国产91在线播放九色快色| 91福利在线尤物| 亚洲精品在线不卡| 久久精品男女| av资源在线看片| 青草久久视频| 国产成人女人毛片视频在线| 91老司机精品视频| 国产精品一区二区三区乱码| 国产精品久久97| 青青青手机在线视频| 日韩欧美高清在线观看| 国产精品日韩久久久| 日韩一级成人av| 欧美精品密入口播放| 欧美激情欧美激情在线五月| 日本高清不卡的在线| 美女一区网站| 亚洲自拍偷拍麻豆| 国产剧情一区二区三区| 久久久久亚洲av无码专区首jn| 99久免费精品视频在线观看| 日本网站在线观看一区二区三区| 日本高清www免费视频| 国内精品久久久久久久久久久| 久久久久久这里只有精品| 先锋av资源| 一区二区亚洲欧洲国产日韩| 欧美日韩在线一区| 很黄很色的网站| 91亚洲一区| 久久93精品国产91久久综合| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲精品在线观看www| 亚洲色图一区二区三区| 日韩av黄色网址| 性开放的欧美大片| 精品99在线视频| 97在线视频免费看| 久久亚洲精品小早川怜子66| 色视频在线观看| 中文资源在线网| 黄色免费视频观看| 少妇bbw搡bbbb搡bbbb| 性xxxfllreexxx少妇| 精品91久久久久| 久热国产精品视频一区二区三区| 深夜福利一区二区三区| 亚洲精品一二三四| 国产人妻黑人一区二区三区| 97在线观看视频| 国产精品r级在线| av资源在线看| 久久亚洲精品中文字幕冲田杏梨| 久久er热在这里只有精品66| 欧美色图色就是色| 成人在线免费观看av| 欧美精品成人网| 在线免费观看羞羞视频一区二区| av在线官网| 亚洲欧洲美洲av| 91丨porny丨蝌蚪视频| 88av在线视频| 午夜久久久久久电影| a视频网址在线观看| 26uuu色噜噜精品一区二区| 在线观看视频免费一区二区三区| 欧洲在线视频| 欧美在线视频日韩| 国产一级视频在线| 一区二区毛片| 国产一区二区视频在线| 清纯唯美综合亚洲| 久久超碰97人人做人人爱| 一区二区三区 在线观看视| 久久久久久久福利| 男女一区二区三区| 综合久久一区二区三区| 免费h视频在线观看| 欧美精品videossex少妇| 国产成人自拍视频在线观看| av黄色免费在线观看| 日本韩国一区二区三区| 久久黄色免费视频| 中国av一区二区三区| 毛片av一区二区| www.久草.com| 九九久久九九| 日韩av黄色在线| 日韩精品中文字幕一区二区| 男人天堂一区二区| 开心激情综合网| 亚洲精品国产精品国自产在线| 无码av免费精品一区二区三区| 久久久久免费精品| 亚洲精品白浆| 亚洲色图19p| 免费在线观看a| 超碰在线最新网址| 日韩视频在线观看视频| a天堂在线视频| 91超碰国产在线| 成人福利在线观看| 亚洲乱码一区二区三区| 国产精品乱码视频| 97影视大全免费追剧大全在线观看| 精品乱码一区| 51国偷自产一区二区三区的来源| 欧美日韩成人激情| 美女扒开腿让男人桶爽久久动漫| 久久久久五月天| 精品一区二区三区五区六区七区| 亚洲人妖av一区二区| 亚洲午夜未满十八勿入免费观看全集| 国产在线高清精品| 蜜桃视频成人| 日本三级中文字幕| 国产丝袜视频在线播放| 色偷偷色偷偷色偷偷在线视频| 丰满少妇在线观看资源站| 精品人妻人人做人人爽| 白嫩情侣偷拍呻吟刺激| 日本网站免费在线观看| 1024精品久久久久久久久| 中文字幕久热精品视频免费| 亚洲午夜精品国产| 午夜精品久久久久久久蜜桃app| 嫩草香蕉在线91一二三区| 欧美videossex极品| 国产99久久精品一区二区 夜夜躁日日躁| 日本不卡二区高清三区| 深夜国产在线播放| 欧美成人免费视频| 鲁鲁在线中文| 国产激情在线看| 亚洲精品大全| mm1313亚洲国产精品美女| 亚洲伊人成综合成人网| 日本韩国欧美超级黄在线观看| 日本公妇乱淫免费视频一区三区| 四虎国产精品永久在线| 中文字幕最新精品| 欧美一级日本a级v片| 在线免费不卡视频| 国产精品大全| 美女视频一区免费观看| 成人免费网站www网站高清| h视频在线免费看| 97在线视频人妻无码| 99精品久久免费看蜜臀剧情介绍| 亚洲美女免费在线| 成人春色激情网| 日本激情综合网| 欧美巨猛xxxx猛交黑人97人| japanesexxxxfree在线观看| 久久精品国产秦先生| 55av亚洲| 日韩一区二区三区三四区视频在线观看| 免费永久网站黄欧美| 亚洲av无码一区二区三区dv| 欧美videosex性欧美黑吊| 欧美国产一区二区三区| 尤蜜粉嫩av国产一区二区三区| 波多野结衣50连登视频| 国产福利精品av综合导导航| 国产精品免费视频一区一| 99久久伊人网影院| 国产又粗又爽又黄的视频| 中文在线天堂网| 国产高清精品软件丝瓜软件| 精品一区二区三区视频在线观看| 爱情岛论坛vip永久入口| 国产真实乱偷精品视频| 秋霞午夜电影| 欧美亚洲黄色片| 精品在线播放视频| 日韩成人av在线播放| 视频一区二区三区在线| 国产精品白丝久久av网站| 岛国视频一区免费观看| 四虎成人精品一区二区免费网站| 国产在线视频精品视频免费看| 在线免费观看的av网站| 天天综合五月天| 天堂va欧美ⅴa亚洲va一国产| 182午夜在线观看| jlzzjlzz欧美大全| 怡红院男人的天堂| 国产成人精品亚洲日本在线桃色| 亚洲无线一线二线三线区别av| 国产毛片毛片毛片毛片毛片毛片| 色中色综合影院手机版在线观看| 欧美性色综合| 国产99久久久久久免费看| 国产又猛又黄又爽| 欧美亚洲一区二区三区四区| 国内国产精品天干天干| 污污的网站18| 中文日本在线观看| 日韩欧美中文字幕电影| 国产z一区二区三区|