freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于j2me手機閱讀器畢業(yè)設計提交版-在線瀏覽

2024-07-29 14:46本頁面
  

【正文】 本的功能包括:載入圖書、前進、后退、存檔、讀取書簽,更換背景。此外,該程序可下載到手機上,隨時隨地的進行閱讀,這樣就可以通過這種方式開發(fā)一些學習軟件,使手機用戶可有一個隨身學習的工具書。其中第四部分“程序分析和具體實現(xiàn)”是本篇論文的重點。其中包括:手機閱讀器如何讀取文本,J2ME文本閱讀器中的文本格式,讀取文本文件的主要技術實現(xiàn),將文本文件內(nèi)容顯示出來的技術實現(xiàn),閱讀器中的菜單設計技術實現(xiàn)。2 J2ME技術概覽 開發(fā)環(huán)境操作系統(tǒng):Microsoft Windows XP程序語言:Java 2開 發(fā) 包:Java(TM) 2 Standard Edition () Sun Micro. J2ME Wireless Tool Kit IDE:Eclipse J2ME的概念J2ME的全稱是Java2 Micro Edition (J2ME)——Java2技術微型版,與J2SE、J2EE一樣都是有美國SUN微系統(tǒng)公司提出的JAVA技術規(guī)范。J2ME是建立在一個由概要描述、配置、JAVA虛擬機和操作系統(tǒng)等部分組成的標準架構之上的,這些內(nèi)容共同組成了完整的J2ME實時運行環(huán)境。J2ME在1999年的JavaOne開發(fā)人員大會上初次亮相,它的目標是面向智能無線設備和小型計算設備的開發(fā)人員,這些開發(fā)人員需要在他們的產(chǎn)品中整合跨平臺的能力。他們希望小型計算設備有快速的響應時間,與同種設備相兼容,擁有功能完備的應用程序。為了滿足他們的需求,開發(fā)人員必須重新考慮他們設計計算機系統(tǒng)的方式。J2ME能夠以最小的修改來實現(xiàn)這種傳遞,如果應用程序的設計是可伸縮的,應用程序就可以適應小型計算設備上有限的資源。Java技術在無線應用方面的優(yōu)勢非常明顯:1. 應用程序可按需下載,而不是購買由硬件商提供的套件,可升級空間大?;谝陨戏治觯琂ava手機將是未來手機的發(fā)展方向,是業(yè)界的熱點。J2ME架構沒有替代小型計算設備的操作系統(tǒng)。安裝在操作系統(tǒng)之上的CLDC形成了小型計算設備的運行時環(huán)境。配置層還處理profile和JVM之間的交互。第三層是Mobile Information Device Profile( MIDP )層。它還能夠訪問CLDC庫和MIDP庫。JVM可以為微型電子設備提供一個完整的JAVA運行環(huán)境,除了一些微型設備所必需的適當?shù)墓δ苡兴煌?,它是由JAVA虛擬機規(guī)范定義的真實的JAVA虛擬機。JVM起初是由SUN微系統(tǒng)實驗室為一個名叫“Spotless”的項目創(chuàng)建的?;谏鲜鲈颍琂VM具有以下幾個特點:(1)小,僅具有40KB至80KB的靜態(tài)內(nèi)存。(3)模塊化并可定制。 MIDP( 移動信息設備簡表 )MIDP是專門為互聯(lián)受限設備配置設計的,它為移動設備提供了一套API集合,MIDP包含用戶界面類、持久存儲功能與網(wǎng)絡功能。運行在MIDP下的小應用程序叫做MIDlet移動設備小應用程序,它與Applet類似。MIDP是以SUN、Motorola、Nokia為中心的MIDPEG組織(Mobile Information Profile Expert Group)所制訂出來使用在CLDC上的Profile,是以能使用在移動電話、雙向?qū)χv機、可無線通信的PDA(個人數(shù)字助理)上面為前提設計出來的。MIDP是在CLDC 的功能上附加提供適合目標設備用的GUI與事件處理功能。MIDP由于是由多個企業(yè)所共同策劃出來的開放標準,因此主要的移動電話制造商也會制造出大量的對應機種。另外,MIDP不僅限于移動電話,也已經(jīng)被移植到PDA Palm OS上,而以MIDP for Palm OS的名字來稱呼(與KJava是不同的)。由于未來MIDP也將會搭載到不同設備之上,也由于其兼容性高,只要寫過一次程序,就可以在其他移動電話或是移動電話以外的設備上執(zhí)行;而這也就是它最大的好處。它所使用的傳輸媒體可以是紅外線、網(wǎng)絡、以及其他可用來傳輸?shù)拿襟w。整個詳細的運作流程如圖21所示。保持程序操作的簡易是最基本的要求。記錄書簽的存儲方式也需要有較好的解決方案。其數(shù)據(jù)庫結構較為簡單,被稱之為RMS系統(tǒng)。一個實時運行的最終作品,每秒都會運行成千上萬行程序,繪圖事件、鍵盤事件都會以極高的頻率在后臺等待響應,若有絲毫的差別都將很容易導致程序在運行不久后可能出現(xiàn)嚴重錯誤,甚至死循環(huán)。,適用性強,可能需要采用外部文件引入的圖片貼圖,有關貼圖,使得解決靜態(tài)或動態(tài)、畫面背景、屏幕刷新的雙緩沖等都有較好的解決方案。良好的用戶界面更是吸引用戶的硬指標,相關的美術構圖也需要有一定的考慮。除開發(fā)過程中對結構上的控制、變量的使用、算法的優(yōu)化等優(yōu)化外,還可以使用混淆器(Obfuscator)進行程序打包后的優(yōu)化。 程序流程MIDlet suite是MIDP應用程序的最小單位,JAM負責將手機內(nèi)的MIDlet suite以圖形化的方式呈現(xiàn),讓用戶能夠選取欲執(zhí)行的MIDlet suite,一旦選取了某個MIDlet suite,操作系統(tǒng)就會激活KVM執(zhí)行里面的MIDlet。消減狀態(tài)(Destroyed)停止狀態(tài)(Paused)運行狀態(tài)(Active)StartApp()DestroyApp()呼叫MIDlet的構造函數(shù)DestroyApp()PauseApp()圖 31 MIDlet的流程。這三種狀態(tài)的轉換關系如上圖所示:MIDlet的三個狀態(tài),pause、應用管理軟件會首先創(chuàng)建一個MIDlet實例并使得他處于pause狀態(tài),當startApp()方法被調(diào)用的時候MIDlet進入active狀態(tài),也就是所說的運行狀態(tài)。值得一提的是destroyApp(boolean unconditional)方法,事實上,當destroyApp()方法被調(diào)用的時候,AMS通知MIDlet進入destroyed狀態(tài)。如果unconditional為false的時候,MIDlet可以在接到通知后拋出MIDletStateChangeException而保持在當前狀態(tài),如果設置為true的話,則必須立即進入destroyed狀態(tài)。運行程序后允許用戶選擇執(zhí)行選項菜單,在開始運行后將先從外部文件載入背景圖片文件,對背景的所有物體進行繪圖。從程序開發(fā)的觀點看,Canvas類可與高級Screen類交互,程序可在需要時在Canvas中摻入高級類的組件。鍵盤事件由鍵代碼指定,但這樣控制游戲會導致缺乏通用性,并不是每個設備的鍵盤布局都適合游戲的操作。 Graphics類Graphics類提供了簡單的2D繪圖功能。程序只能在paint()函數(shù)中使用Graphics繪制,GameCanvas可調(diào)用getGraphics()函數(shù)直接繪制在緩沖區(qū)上,可以在任何時間請求傳輸?shù)角芭_。 ,進行游戲繪圖一般需要手動編程使用雙緩沖。Image類提供了一個建立背景的靜態(tài)方法createImage(int width, int height),再利用getGraphics()方法取得屬于這個背景的Graphics對象,所進行的繪圖操作都會作用在背景上,等到全部的繪圖操作完成后,再調(diào)用drawImage()方法將背景的數(shù)據(jù)復制到實際顯示的屏幕上。繪制動畫時經(jīng)常需要不斷地更新畫面,而更新畫面的操作就是先將屏幕以fillRect()的方式清除,再將下一張圖片畫在屏幕上,然而反復的清除及重繪會造成屏幕的閃爍現(xiàn)象(flicker),因此使用雙重緩沖的好處就是在背景進行這個清除及重繪的操作,再將完成的繪圖拷貝到屏幕上,由于用戶看不到清除的操作,因此就不會出現(xiàn)閃爍的現(xiàn)象了。 J2ME的流行促進幾個運營商和制造商開發(fā)了一些支持游戲的類,但是,這卻造成了游戲缺乏可移植性的問題,例如,很難將使用Siemens的Sprite類的游戲移植到Nokia上。GameCanvas、Sprite、Layer、LayerManager、TiledLayer五個與游戲開發(fā)相關的類。Game類的出現(xiàn)不僅降低了錯誤出現(xiàn)的幾率,也使游戲代碼變的更小,因為開發(fā)者不需要自己編寫象Sprite這種例子。GameCanvas類繼承自Canvas,所以具有Canvas所具有的功能,還額外增加了一些便于游戲設計的功能。GameCanvas類提供了flushGraphics()的功能,實現(xiàn)了雙緩沖技術。Sprite類是繼承自Layer的用于存儲多楨的基本可視元素。圖片可翻轉、顛倒、由一個主角圖片就可以方便的得到所有方向的顯示狀態(tài),相比原先只能使用Canvas繪圖,需要將所有方向的主角圖象都繪制在png圖象中簡化了許多。每個小圖按照其排列順序有相應的序號,在程序中調(diào)用其序號,就可以繪制出相應的圖片。它包括了一系列自動獲取了代號和位置的層,簡化了各層加入游戲畫面的過程,提供了自動排序和繪制的能力。層的序號相當于坐標的Z軸,0層表示最接近用戶視覺,層數(shù)越高,離用戶越遠。LM中的View Window控制著與LM相對坐標的可視區(qū)域。TiledLayer是有一組圖象格元素組成的整塊虛擬圖象。這項技術通常應用在2D游戲平臺的滾動背景的繪圖。多塊小格可由大塊同時替換組合而模擬動態(tài)的背景,這不需要逐塊替換所有的靜態(tài)圖象格而顯得非常方便。PNG格式提供透明背景的圖象,這對繪制游戲畫面和閱讀效果極有幫助。這些代碼包含在每一個單獨的png格式圖象中,然而如果將多個png圖象合并在一張幅面稍大一些的整圖中,多個chunks就可以得到精簡,圖片的大小可以得到控制。在Game包中的TiledLayer和Sprite類都整合了這樣的功能。手機內(nèi)存空間小,所以在程序設計時應該注意以下幾點,以盡量減少內(nèi)存的使用: (1)盡量縮短命名的長度。所有這些可以借助混淆器來幫助實現(xiàn) (2)所有代碼寫為一個類。 (4)盡量不使用靜態(tài)變量。將PNG格式的小分辨率圖象合并在一張大的高分辨率圖象中,由于減少了頭文件的大小,將比合并前的總大小減少許多。 包括內(nèi)存狀況的檢測(手機上的內(nèi)存空間十分有限,必須時刻關注機載內(nèi)存是否大于程序所能使用到的最大可能的內(nèi)存空間),網(wǎng)絡狀況的檢測,運行函數(shù)的跟蹤等。其中,允許強制垃圾回收(Garbage Collection)。在程序運行中也可以調(diào)用System類的gc()函數(shù)手動收回廢棄的內(nèi)存。它包括了所有的信息。目前流行的如decode,JAD等反編譯工具可以以很快的速度生成源文件。由此引入混淆器的概念?;煜鞯淖饔貌粌H僅是保護代碼,它也有精簡編譯后程序大小的作用?;煜?,體積大約能減少25%,這對當前費用較貴的無線網(wǎng)絡傳輸是有一定意義的。如果想讀寫手機上的文件,則要使用各手機商家提供的特定開發(fā)平臺和專用的類來開發(fā),下面就文本閱讀器的關鍵技術進行說明。在讀取文件內(nèi)容時用到的主要技術,使用InputStream類定義一個輸入字節(jié)流對象in,使用讀取文本文件的函數(shù)定義如下: //函數(shù)頭定義了函數(shù)的參數(shù)為文件名組成的字符串,返回值為一個字符串。 InputSt
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1