日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

midlet_如何在J2ME中创建MIDlet

發(fā)布時間:2023/12/3 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 midlet_如何在J2ME中创建MIDlet 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

midlet

總覽

Java移動應(yīng)用程序稱為J2ME。 通常,當(dāng)我們在移動技術(shù)領(lǐng)域工作時,我們必須考慮J2ME應(yīng)用程序。 通過這種方式,我們可以開發(fā)我們的移動應(yīng)用程序,也可以通過jad或jar文件將其安裝在我們的設(shè)備中。 近年來,手機(jī)開發(fā)中最大的增強(qiáng)是JavahostedMIDlet的引入。 MIDlet在Java虛擬機(jī)上執(zhí)行,該Java虛擬機(jī)對底層硬件進(jìn)行了抽象,并使開發(fā)人員可以創(chuàng)建在通常支持Java運(yùn)行時系統(tǒng)的各種設(shè)備上運(yùn)行的演示文稿。 不方便地,這種便利是以限制訪問設(shè)備硬件為代價的。 現(xiàn)在,在移動開發(fā)中,第三方應(yīng)用程序通常會獲得與電話制造商編寫的本機(jī)應(yīng)用程序不同的硬件訪問和執(zhí)行權(quán),這被認(rèn)為是正常的。 Java MIDlet的引入和實(shí)現(xiàn)擴(kuò)大了開發(fā)人員的受眾。 但是缺乏底層硬件訪問和沙箱執(zhí)行,意味著大多數(shù)移動應(yīng)用程序?qū)τ谠O(shè)計(jì)用于在較小屏幕上呈現(xiàn)的桌面程序或網(wǎng)站都是常規(guī)的。

在本文中,將詳細(xì)討論MIDlet的創(chuàng)建。

介紹

J2ME縮寫為Java 2,微型版。 它是被困在處理能力和存儲能力有限以及交替或相當(dāng)?shù)蛶挼木W(wǎng)絡(luò)連接系統(tǒng)的設(shè)備上的Java的功能版本。 這些系統(tǒng)還包括我們?nèi)粘I钪型ǔJ褂玫氖謾C(jī),尋呼機(jī),無線設(shè)備。 MIDlet是移動電話系統(tǒng)小程序的一部分。 這里的小程序可以在受保護(hù)的沙箱中運(yùn)行。 該系統(tǒng)在該過程中非常受限制。 當(dāng)前在大多數(shù)支持Java的手機(jī)上都可以找到MIDP()1.0,它相當(dāng)不錯。 例如,KVM不允許我們處理浮點(diǎn)數(shù),并且為MIDP 1.0編寫的MIDlet在沒有電話制造商專有API(應(yīng)用編程系統(tǒng))的情況下無法訪問沙箱之外的任何內(nèi)容。 現(xiàn)在,我們可以夢想成真地開發(fā)帶有鉤子的最終MIDlet,并將其插入到backburner的電話操作系統(tǒng)的每個部分中。 基本上,當(dāng)我們想確切地了解MIDP 1.0的局限性時,我們應(yīng)該在這里閱讀規(guī)格。 如果我們這樣做,那么它可能想簽出MIDP 2.0版本,并且它的等級更高。 目前,我們將要編寫第一個MIDlet –功能齊全的“ Hello MIDlet”應(yīng)用程序。

MIDlet生命周期

每個系統(tǒng)都應(yīng)該有生命周期,通過這個生命周期,我們可以逐步了解系統(tǒng)的過程。 在這里,我們簡短地討論MIDlet生命周期移動設(shè)備,例如模擬器或真實(shí)設(shè)備,它們可以使用稱為應(yīng)用程序管理軟件(簡稱為AMS)的自己的軟件技術(shù)過程與MIDlet進(jìn)行交互。 AMS負(fù)責(zé)初始化,啟動,暫停,恢復(fù)和銷毀MIDlet。 AMS可能負(fù)責(zé)安裝和刪除MIDlet。 為了簡化此生命周期管理,MIDlet可以處于三種狀態(tài)之一,該狀態(tài)通過每個MIDlet擴(kuò)展和覆蓋的MIDlet類方法進(jìn)行控制。 這些狀態(tài)分為活動,暫停和破壞等不同部分。

虛擬機(jī)

通常,這些類型的編程模型虛擬機(jī)或虛擬設(shè)備在軟件開發(fā)部分中也起著至關(guān)重要的作用。 現(xiàn)在,由于更改了內(nèi)存并顯示了功能,因此CLDC(J2ME連接的受限設(shè)備配置)和CDC(J2ME連接的設(shè)備配置)需要使用自己的虛擬機(jī)。 CLDC虛擬機(jī)小于CDC所需的虛擬機(jī),并且支持較少的功能。 從這種意義上講,CLDC的虛擬機(jī)稱為Kilo虛擬機(jī)(KVM),而CDC的虛擬機(jī)稱為CVM。

J2ME Con??nected,受限設(shè)備配置:

  • 它用于為手機(jī),尋呼機(jī)和無線設(shè)備指定Java環(huán)境,也支持其他設(shè)備。
  • CLDC設(shè)備通常是無線的,這意味著通過CLDC支持移動系統(tǒng)
  • 內(nèi)存需求在該特定設(shè)備中非常重要,因此Java可以使用160 – 512k的內(nèi)存。
  • 節(jié)能系統(tǒng)的電源或電池供電能力有限。
  • 溝通過程在這里非常重要。 網(wǎng)絡(luò)連接為無線,間歇性,低帶寬(9600bps或更小)。

J2ME連接的設(shè)備配置:

  • 通常,它描述了用于數(shù)字電視機(jī)頂盒,移動,高端無線設(shè)備和汽車遙測系統(tǒng)的Java環(huán)境。
  • 該設(shè)備由32位處理器支持的系統(tǒng)供電。
  • Java平臺可使用2MB或更多的內(nèi)存。
  • 經(jīng)常是無線,不連續(xù),低帶寬(9600bps或更小)的網(wǎng)絡(luò)連接

在Net Beans中創(chuàng)建我們自己的MIDlet的過程

通常,當(dāng)我們在Net Beans字段中工作時,由于這個原因,我們必須安裝Java SE Development Kit(JDK),因此必須首先下載并安裝最新的32位版本的Java SE Development Kit(JDK)。 需要JDK來編譯Java類以執(zhí)行代碼。 《 Net Beans安裝指南》要求在安裝過程中用來瀏覽到本地驅(qū)動器上的JDK位置。

e請記住這一點(diǎn),當(dāng)我們安裝Net Beans時,我們選擇自定義安裝并清除“功能隨需應(yīng)變”選項(xiàng)。 然后下載并安裝支持Java ME(微型版)的軟件開發(fā)套件(SDK)。 SDK提供了IDE涉及的Java ME類庫,用于為特定設(shè)備平臺構(gòu)建MIDlet。

實(shí)際上,當(dāng)我們?yōu)镾eries 40設(shè)備生成MIDlet時,我們使用的是適用于Java的諾基亞SDK(軟件開發(fā)工具包)。 現(xiàn)在,如果我們要為40系列,第6版或更早的40系列設(shè)備創(chuàng)建MIDlet,請使用相應(yīng)的40系列SDK。

e請記住,SDK已與IDE正確集成,并且將SDK安裝在與IDE部分相同的邏輯驅(qū)動器上。

配置Net Bean的過程

安裝所需的軟件后,將Net Beans與安裝的SDK集成在一起。
在這里,我們將逐步討論創(chuàng)建項(xiàng)目的過程:

  • Open Net Beans(版本7.2.1,可以根據(jù)軟件更新過程進(jìn)行更改
  • 選擇工具-> Java平臺 。
  • 單擊添加平臺 。
  • 選擇Java ME CLDC Platform Emulator ,然后單擊下一步 。 Net Beans在我們的計(jì)算機(jī)上搜索支持Java ME的SDK。
  • 選擇“ 文件”>“新建項(xiàng)目” 。
  • 選擇Java ME-> Mobile Application ,然后單擊下一步 。
  • 圖1:選擇Java平臺類型

  • 如果我們在Net Beans IDE中找不到SDK(軟件開發(fā)工具包),請單擊“查找更多Java ME平臺文件夾”,然后選擇安裝SDK的文件夾。 Net Beans在選定的文件夾中搜索支持Java ME(微型版)的SDK(軟件開發(fā)工具包)。
  • 選擇SDK,然后單擊Next-> Net Beans檢測SDK功能。
  • 圖2:添加Series 40軟件開發(fā)套件

  • 完成后,單擊配置->單擊完成,然后關(guān)閉。
  • 現(xiàn)在,您的開發(fā)環(huán)境已設(shè)置好,您可以在Net Beans中創(chuàng)建MIDlet。
  • 要創(chuàng)建HelloBCEI MIDlet:

  • 下載并安裝Netbeans(選擇支持Java Micro Edition的安裝包)。
  • 在此項(xiàng)目名稱字段中,輸入“ HelloBCEI”。

    圖3:在Net Beans中創(chuàng)建第一個MIDlet

  • 清除“創(chuàng)建默認(rèn)包和主要可執(zhí)行類 ”復(fù)選框。
  • 點(diǎn)擊下一步。 MIDlet設(shè)置將繼續(xù)進(jìn)行設(shè)備平臺選擇。
  • 在“仿真器平臺”下拉菜單選項(xiàng)中,選擇要為其創(chuàng)建MIDlet的設(shè)備平臺:
  • 對于那些40系列設(shè)備,我們在這里選擇諾基亞Java軟件開發(fā)套件。

    圖4:為MIDlet選擇設(shè)備平臺

  • 選擇CLDC-1.1和MIDP-2.0。 我們也可以選擇MIDP-2.1并單擊Finish 。 NetBeans為我們設(shè)置了MIDlet項(xiàng)目。
  • 現(xiàn)在,我通過以下方式創(chuàng)建程序。

  • 要為MIDlet創(chuàng)建主類,請選擇File-> New File。
  • 選擇CLDC-> MIDlet,然后單擊下一步。
  • 在“ MIDlet名稱”字段中,輸入“ HelloBCEI”。
  • 在“ MIDP類名”字段中,輸入“ HelloBCEIMIDlet”。
  • 點(diǎn)擊完成 。
  • HelloBCEI MIDlet類是在默認(rèn)程序包中創(chuàng)建的。 在這里,我們記下在程序中生成代碼的代碼。

    清單1:顯示MIDlet類

    import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.midlet.MIDlet;public class HelloMIDlet extends MIDlet { public HelloWorldMIDlet() {} // Sets the MIDlet’s current Display to a HelloScreen object. public void startApp() { Displayable current = Display.getDisplay(this).getCurrent(); if (current == null) { HelloScreen helloScreen = new HelloScreen(this, “Hello, BCEI!”); Display.getDisplay(this).setCurrent(helloScreen); } } public void pauseApp() {} public void destroyApp(boolean unconditional) {} }

    要創(chuàng)建HelloBCEIScreen類:

  • 選擇文件->新文件 。
  • 選擇Java-> Java類 ,然后單擊下一步。
  • 在“類名”字段中,輸入“ HelloBCEI”。
  • 點(diǎn)擊完成 。 HelloBCEI類在默認(rèn)包中創(chuàng)建。
  • 清單2:在默認(rèn)包中創(chuàng)建的顯示類

    import javax.microedition.lcdui.*;class HelloBCEIScreen extends Form implements CommandListener { private final HelloBCEIMIDlet midlet; private final Command exitCommand; //Exit command for closing the MIDlet in the device UI.public HelloBCEIScreen(HelloWorldMIDlet midlet, String string) { super(“”); StringItem helloText = new StringItem(“”, string); super.append(helloText); this.midlet = midlet; exitCommand = new Command(“Exit”, Command.EXIT, 1); addCommand(exitCommand); setCommandListener(this); }public void commandAction(Command command, Displayable displayable) { if (command == exitCommand) { midlet.notifyDestroyed(); } } }

    選擇File-> Save All保存項(xiàng)目。

    在“項(xiàng)目”窗格中,右鍵單擊HelloBCEI項(xiàng)目,然后選擇“ 部署選項(xiàng)” 。 選擇部署選項(xiàng)后,程序即可安裝在設(shè)備中。

    NetBeans構(gòu)建MIDlet,并創(chuàng)建用于將MIDlet部署到設(shè)備的JAR和JAD文件。 您也可以在dist文件夾下的“文件”窗格中找到生成的文件。

    圖5:在“項(xiàng)目”窗格中查看的HelloBCEI項(xiàng)目

    調(diào)試MIDlet

    在調(diào)試MIDlet之前,我們必須具有MIDP可執(zhí)行文件的版本以及在其類文件中具有調(diào)試密碼的MIDlet。 要查看我們是否具有可接受的midp可執(zhí)行文件版本,并在-help選項(xiàng)的中間運(yùn)行midp命令。 如果生成的可執(zhí)行文件具有Java調(diào)試功能,那么我們將看到下面列出的-debugger選項(xiàng)。 例如:

    C:\midp2.0fcs> bin\midp -helpUsage: midp [<options>]Run the Graphical MIDlet Suite Manager….or midp [<options>] -debugger …

    我們正在使用的midp可執(zhí)行文件版本不支持Java編程語言調(diào)試。 要生成包含調(diào)試符號的MIDlet版本,我們對javac(Java的編譯器)命令使用–g選項(xiàng)。

    要調(diào)試MIDlet,應(yīng)遵循以下步驟:

    1.首先打開命令提示符或終端窗口。

    2.將當(dāng)前目錄更改為midpInstallDir。

    為了說明起見,如果目錄中安裝了MIDP Reference成就

    c:\midp2.0fcs we can run the command:c:\> cd midp2.0fcs

    3.在調(diào)試模式下啟動MIDP Reference完成并可執(zhí)行文件。

    在-debugger和-port開關(guān)中間使用midp命令。 端口號應(yīng)為2800。此處,KVM調(diào)試代理期望調(diào)試器在其上運(yùn)行的端口號。

    參考實(shí)施可執(zhí)行文件。 例如:

    c:\midp2.0fcs\> bin\midp -debugger -port 2800 -classpath classes

    4.現(xiàn)在啟動KVM調(diào)試代理。

    查看KVM文檔以獲取有關(guān)正確語法,參數(shù)和選項(xiàng)的信息。 對于標(biāo)本,以下命令使KVM調(diào)試代理連接到我們在上一步中啟動的midp可執(zhí)行文件,然后在端口5000處偵聽與Java?平臺調(diào)試器體系結(jié)構(gòu)過程兼容的軟件:

    c:\midp2.0fcs\> java -jarc:/kvm/bin/kdp.jar kdp.KVMDebugProxy –l 5000 -p -r localhost 2800 -cp

    包含MIDletClassFiles的路徑

    5.從任何與Java平臺調(diào)試器體系結(jié)構(gòu)兼容的調(diào)試器連接到KVM調(diào)試代理。 兼容的調(diào)試器包括jdb,Sun?ONE Studio(以前稱為Java的Forte?),JBuilder,Code Warrior,VisualCafé等。

    部署項(xiàng)目

    現(xiàn)在,我們將討論部署過程。 我們已經(jīng)可以直接在移動設(shè)備上部署MIDlet并運(yùn)行它。 基本上有兩種方法可以做到這一點(diǎn)。 首先,自然是通過我們的計(jì)算機(jī)和手機(jī)之間的網(wǎng)絡(luò)連接。 此過程可以通過USB(通用串行總線)電纜或藍(lán)牙無線連接進(jìn)行,具體取決于我們的設(shè)備。 大多數(shù)支持Java的設(shè)備將允許我們通過此連接安裝J2ME應(yīng)用程序。

    其次,這一章更具啟發(fā)性,因?yàn)樗ㄟ^互聯(lián)網(wǎng)系統(tǒng)將我們的MIDlet開放給外界。 通常,這意味著我們的設(shè)備應(yīng)該能夠使用其內(nèi)部瀏覽器連接到Internet。

    <HTML> Click <a href=”DateTimeAppliction.jad”>here</a> to download DateTimeApplication MIDlet! </HTML>

    處理以在我們自己的設(shè)備中獲取代碼:

    當(dāng)我們創(chuàng)建了華麗的小MIDlet并確保一切都能在仿真器中順利進(jìn)行之后,下一步就是使它在實(shí)際設(shè)備上運(yùn)行。

    空中(OTA)設(shè)置:

    OTA配置,允許用戶使用手機(jī)(移動設(shè)備)中內(nèi)置的WAP瀏覽器無線下載我們的應(yīng)用程序。 首先,我們需要看一下使用J2ME Wireless Toolkit打包MIDlet時生成的Java Application Descriptor(JAD)文件。 當(dāng)我們通過Wireless Toolkit編輯JAD文件時,我們必須打開我們的項(xiàng)目,然后單擊Settings選項(xiàng)。 這將打開一個包含多個選項(xiàng)卡的新窗口-API選擇,必需,可選,用戶定義,MIDlet,推送注冊表和權(quán)限。

    所有這些類型的應(yīng)用程序在我們的工作領(lǐng)域中都至關(guān)重要。 下表給出了簡要的想法。

    結(jié)論:

    在上面的討論中,我們了解了Java Micro Edition。 我們知道該版本適用于移動軟件開發(fā)平臺。 因?yàn)楫?dāng)我們研究基于移動軟件的技術(shù)時,J2ME非常可靠并且對我們有幫助。 如果我們作為移動軟件開發(fā)人員從事該特定領(lǐng)域的工作,那么Java平臺是高度安全的。

    希望您對MIDlet的創(chuàng)建及其實(shí)際實(shí)現(xiàn)有所了解。 繼續(xù)在TechAlpine看!

    翻譯自: https://www.javacodegeeks.com/2014/06/how-to-create-midlet-in-j2me.html

    midlet

    總結(jié)

    以上是生活随笔為你收集整理的midlet_如何在J2ME中创建MIDlet的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。