到目前為止,當平臺調(diào)用paint()方法時,所有的Canvas示例都被引入以參與在屏幕上繪制形狀的工作。如果Canvas的內(nèi)容是靜態(tài)的,那么只有在平臺檢測到屏幕內(nèi)容已經(jīng)被一個Alert全部或部分覆蓋時,或出現(xiàn)了另一個不同的MIDlet屏幕,隨后又將這...[繼續(xù)閱讀]
海量資源,盡在掌握
到目前為止,當平臺調(diào)用paint()方法時,所有的Canvas示例都被引入以參與在屏幕上繪制形狀的工作。如果Canvas的內(nèi)容是靜態(tài)的,那么只有在平臺檢測到屏幕內(nèi)容已經(jīng)被一個Alert全部或部分覆蓋時,或出現(xiàn)了另一個不同的MIDlet屏幕,隨后又將這...[繼續(xù)閱讀]
盡管前面的動畫示例是成功的,可以實現(xiàn)動畫效果,但其效率并不高。問題主要出在paint()方法與moveAllBlocks()方法之間的交互方式上。在幀定時器到期時,moveAllBlocks()方法更新所有方塊的坐標,然后安排好將要調(diào)用的paint()方法,該paint()方法...[繼續(xù)閱讀]
Graphics類中有4個方法可以用來在Canvas上輸出文本:publicvoiddrawChar(charc,intx,inty,intanchor)該方法輸出第一個參數(shù)所指定的單個字符。此字符的位置由x、y和anchor參數(shù)確定,后面將對此加以說明。publicvoiddrawChars(char[]chars,intoffset,intlength,intx,...[繼續(xù)閱讀]
你可能已經(jīng)注意到了,高級用戶界面API所提供的某些組件允許顯示圖像。通過從MIDlet套件JAR文件的某個資源處加載,可以創(chuàng)建一個合適的Image對象,在此這個JAR文件是按PNG格式編碼的。本節(jié)將介紹另一種創(chuàng)建Image對象的方法,并對如何在低...[繼續(xù)閱讀]
到目前為止,我們已經(jīng)介紹了如何用Canvas、Image和Graphics類在屏幕上繪制直線、形狀和圖像。低級API提供了一種功能,使MIDlet可以監(jiān)視和響應來自用戶的鍵盤或指針(如果設備有這些輸入設備)的輸入操作。鍵處理鍵處理像TextBox和TextFie...[繼續(xù)閱讀]
如果你用Swing開發(fā)過J2SEGUI,那么你肯定知道在操作Swing組件時一定要格外小心,因為除了極個別情況外,它們都不是線程安全的。這種情況的最終結果是,盡管應用程序是多線程的,但影響用戶界面的所有邏輯都必須在事件線程中執(zhí)行。但...[繼續(xù)閱讀]
J2SE有一個低級聯(lián)網(wǎng)基礎結構,在java.net包中實現(xiàn),位于諸如RMI、CORBA、Jini以及其他企業(yè)級聯(lián)網(wǎng)API等高級功能的頂層。對于移動設備來說,聯(lián)網(wǎng)與通信都是非常基本的性能要求,因此它們屬于CLDC的覆蓋范圍。CLDC并沒有指定移動設備應該使...[繼續(xù)閱讀]
套接字位于網(wǎng)絡通信的最底層,大多數(shù)程序設計人員都會碰到它。真正的技術狂熱者可能會去深入探究傳輸層與網(wǎng)絡層的深奧細節(jié),但一般人更注重它的實際應用性。套接字API非常簡單,而且?guī)缀跏侨巳私灾?、處處可?所以經(jīng)常將它用...[繼續(xù)閱讀]
除了流套接字,CLDC參考實現(xiàn)還包括對數(shù)據(jù)報(datagram)的支持。數(shù)據(jù)報和流套接字間存在如下幾點不同:數(shù)據(jù)流與消息傳送流套接字從發(fā)送方向接收方發(fā)送的是連續(xù)的數(shù)據(jù)流,且不要求標記記錄的界限。數(shù)據(jù)報以分離的包形式發(fā)送,各個包...[繼續(xù)閱讀]
所有MIDP設備都必須提供的通信協(xié)議是簡單的HTTP(HypertextTransferProtocol,HTTP超文本傳輸協(xié)議),RFC2616中對此有詳細介紹(可從站點http://www.ietf.org/rfc/rfc2616.txt處獲得)。HTTP充分利用數(shù)據(jù)流套接字在HTTP客戶端(通常是一個Web瀏覽器)與Web服務器間...[繼續(xù)閱讀]