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

正文內(nèi)容

基于android計算器功能的實現(xiàn)畢業(yè)設(shè)計(編輯修改稿)

2025-07-16 13:14 本頁面
 

【文章內(nèi)容簡介】 一套特定行業(yè)標(biāo)記語言,作為信息共享和數(shù)據(jù)交換的基礎(chǔ)。使用XML作為表單的描述格式,可以滿足用戶對表單定制的需求。(3)XML文檔的內(nèi)容和結(jié)構(gòu)完全分離XML的形式和內(nèi)容是分離的,這樣可以讓數(shù)據(jù)的收集者專注于數(shù)據(jù)處理,相同的數(shù)據(jù)無需改動即可在不同的XSL(XML Style language)頁面呈現(xiàn)不同的風(fēng)格。同時,內(nèi)容和形式的分離使XML文檔在不同應(yīng)用系統(tǒng)之間的轉(zhuǎn)換變得非常簡單,用戶只需要將兩個不同XML文檔的DTD(Document Type Definition)或XML Schema進行映射。 JNI技術(shù)JNI是Java Native Interface的縮寫,中文為JAVA本地調(diào)用。,Java Native Interface(JNI)標(biāo)準(zhǔn)成為java平臺的一部分,它允許java代碼和其他語言編寫的代碼進行交互。JNI的初衷是為了本地已編譯語言,尤其是為C和C++而設(shè)計的,但是它并不妨礙使用其他語言,只要符合約定且被支持就可以了。JNI設(shè)計的目的是在java應(yīng)用程序中調(diào)用其它語言編寫的功能模塊。其結(jié)構(gòu)如圖24所示。圖 24 JNI 調(diào)用關(guān)系圖標(biāo)準(zhǔn)的java類庫可能完成不了所需要的功能特性,或許已經(jīng)有了用其他語言寫成的庫或者程序,而希望在本java程序中使用它,則可通過JNI調(diào)用。如果需要用底層語言實現(xiàn)一個小型的時間敏感代碼,比如匯編,然后在java程序中調(diào)用這些功能。實現(xiàn)JNI的步驟如圖25所示。(1)編寫帶有native聲明的方法的java類,native所聲明的方法既是java調(diào)用但其實現(xiàn)過程是由別的語言完成的。(2)使用javac命令編譯所編寫的java類,生成可以再JVM運行的字節(jié)碼。使用javah?jni 。在自動生成的頭文件中將聲明有待實現(xiàn)的C函數(shù)。(3)使用C/C++。(4)將C/C++程序文件編譯成動態(tài)鏈接庫文件,然后將動態(tài)庫加載到系統(tǒng)中,然后應(yīng)用程序通過native接口調(diào)用即可。圖25 JNI 開發(fā)流程3 基于Android平臺計算器設(shè)計設(shè)計實現(xiàn)一個成功的應(yīng)用程序,不但要有使用的功能配置,也要有有好的用戶界面,下面就是我對基于Android計算器的設(shè)計簡要介紹。 系統(tǒng)的總體設(shè)計根據(jù)任務(wù)書,符合使用用戶的實際要求,系統(tǒng)應(yīng)實現(xiàn)以下功能:計算器界面友好,方便使用,顯示至少6位結(jié)果,具有基本的加、減、乘、除功能,能夠判斷用戶輸入運算數(shù)是否正確,支持小數(shù)運算,具有退格功能,能夠刪除最后一個輸入,具有清除功能,即C,具有結(jié)果存儲功能,能夠顯示存儲器狀態(tài),支持觸屏手機。整個程序基于android技術(shù)開發(fā),出總體模塊外主要分為輸入模塊、顯示模塊以及計算模塊(包括一些其他功能)這三大部分。在整個系統(tǒng)中總體模塊控制系統(tǒng)的生命周期,輸入模塊部分負(fù)責(zé)讀取用戶輸入的數(shù)據(jù),顯示模塊部分負(fù)責(zé)顯示用戶之前輸入的數(shù)據(jù)以及顯示最終的計算結(jié)果,計算模塊部分負(fù)責(zé)進行數(shù)據(jù)的運算以及一些其他的功能。下面較為詳細(xì)的做了說明。具體的說,總體模塊的作用主要是生成應(yīng)用程序的主類,控制應(yīng)用程序的生命周期。輸入模塊主要描述了計算器鍵盤以及鍵盤的監(jiān)聽即主要負(fù)責(zé)讀取用戶的鍵盤輸入以及響應(yīng)觸屏的按鍵,需要監(jiān)聽手機按鍵動作以及用指針事件處理方法處理觸屏的單擊動作(以松開按鍵為準(zhǔn))。同時提供了較為直觀的鍵盤圖形用戶界面。顯示模塊描述了計算器的顯示區(qū),即該區(qū)域用于顯示用戶輸入的數(shù)據(jù)以及最終的計算結(jié)果,同時還負(fù)責(zé)顯示一些其他的信息。計算模塊則主要描述了計算器的整體,實現(xiàn)了計算器的界面,負(fù)責(zé)計算用戶輸入數(shù)據(jù),包括加、減、乘、除、等各種計算功能,記憶數(shù)據(jù)的相關(guān)功能,退格以及清零的功能。 程序流程和系統(tǒng)功能設(shè)計 程序流程設(shè)計知道了系統(tǒng)的功能以后,完成后系統(tǒng)開始監(jiān)聽用戶的按鍵輸入,每次輸入系統(tǒng)都會判斷一次用戶輸入的類型,是數(shù)字還是運算符號或者是清除,判斷完后分成不同類型如數(shù)字,符號,基本運算等等進行進一步的處理,根據(jù)用戶的要求繼續(xù)進行下一步的操作,最后計算出最終結(jié)果并顯示在顯示區(qū)。系統(tǒng)流程圖如圖32所示:圖31 程序流程圖 系統(tǒng)功能設(shè)計整個系統(tǒng)的功能比較多,比較復(fù)雜,如上所說,可以分為十多個功能模塊,但是邏輯上理解其實不算困難,系統(tǒng)包括普通計算功能,包括加減乘除,退格以及清零功能。下面就讓我們用圖32來表示:圖32 系統(tǒng)的功能圖以上就是系統(tǒng)的流程圖,不過只是一個簡單是示意流程圖,不是整個程序的完整流程圖,整個系統(tǒng)的流程圖由于模塊眾多,整個列舉不易于理解,故此就只采用簡單流程圖作為示例說明,反而更加的簡單明了。系統(tǒng)除了總體模塊以外主要由三大模塊來組成,即輸入模塊,顯示模塊和計算模塊。用系統(tǒng)框圖來表示即如圖33。圖33 系統(tǒng)框圖系統(tǒng)這三大模塊都各自包含什么內(nèi)容在下文的系統(tǒng)詳細(xì)設(shè)計中會有進一步的說明,此處就暫且略過。下面就來詳細(xì)的說明一下系統(tǒng)的各個模塊都是如何設(shè)計的。 總體模塊詳細(xì)設(shè)計總體模塊需要完成的任務(wù)主要就是系統(tǒng)的程序啟動類,需要負(fù)責(zé)整個系統(tǒng)的生命周期。同時在還要在模塊中完成菜單欄的所有功能,即退出程序,記憶數(shù)據(jù),顯示數(shù)據(jù),清除記憶數(shù)據(jù)這四個功能??傮w模塊的功能圖如圖34:圖34 總體模塊功能圖 輸入模塊詳細(xì)設(shè)計系統(tǒng)如果想完成計算器中的各種功能,首先用戶要能進行數(shù)據(jù)輸入,由于是在觸屏手機上開發(fā)計算器程序,所以要求輸入可以直接使用觸屏進行,所以在設(shè)計的時候就要充分的考慮要這一點。正是由于考慮到這個特殊的地方,所以在進行模塊設(shè)計中,選擇編寫輸入模塊類的時候會特意選取使用了可以支持觸屏輸入的特殊增強型圖形用戶界面類。輸入模塊主要的任務(wù)是描述計算器鍵盤以及實現(xiàn)鍵盤的監(jiān)聽,即當(dāng)用戶點擊按鍵或者屏幕的時候監(jiān)聽器會去調(diào)用相應(yīng)的處理辦法,本模塊還需要為系統(tǒng)提供了一個較為直觀的鍵盤圖形用戶界面。輸入模塊的功能圖如圖35:圖35 輸入模塊功能圖 顯示模塊詳細(xì)設(shè)計作為手機計算器系統(tǒng),顯示部分也是必不可少的一部分。沒有顯示部分就沒有辦法顯示用戶輸入的數(shù)字是否正確,甚至不能顯示計算出的結(jié)果,由此可見顯示模塊即包括輸入的部分也包括輸出的部分。顯示模塊主要要完成的任務(wù)是描述計算器的顯示區(qū),該區(qū)域用于顯示用戶輸入的數(shù)據(jù)以及最終的計算結(jié)果和一些其他信息。同時本模塊還將提供調(diào)用和設(shè)置顯示的具體方法。顯示模塊的功能圖如圖36:圖36 顯示模塊功能圖 計算模塊詳細(xì)設(shè)計系統(tǒng)要完成整個的計算器的計算功能,那么計算模塊就是整個系統(tǒng)的重點模塊。沒有計算模塊系統(tǒng)就不能順利的完成計算,就無法達到用戶的要求。所以計算模塊的設(shè)計也是本次系統(tǒng)設(shè)計中的重點。系統(tǒng)想要能在屏幕上顯示出計算器的樣子要有整體的布局,在本模塊中要完成布局的具體設(shè)計,使用戶能夠看到整個計算器的畫面。同時系統(tǒng)想完成計算功能必須要處理用戶的輸入,當(dāng)輸入模塊的監(jiān)聽傳到計算模塊中時,計算模塊就要根據(jù)相應(yīng)的方法進行進一步的處理。這部分主要是對輸入進行的邏輯判斷,基本會通過if else來實現(xiàn)邏輯判斷。計算模塊的功能圖如圖37:圖37 計算模塊功能圖4 計算器系統(tǒng)實現(xiàn) Android應(yīng)用程序構(gòu)成Android應(yīng)用程序一般是由Activity、Serviece、Content Provider、Intent、Intent Receiver、Notification六個組件構(gòu)成。但并非每一個Android應(yīng)用程序都包含這六個組件。(1)Activity(活動):應(yīng)用程序的表示層。Activity是Android的基本組件。每一個activity代表一個單獨的屏幕。每一個activity都是繼承于Activity的獨立類。這個activity類將會顯示出幾個Views控件組成的用戶接口,并對事件作出響應(yīng)。Android使用了Intent,實現(xiàn)在屏幕與屏幕之間跳轉(zhuǎn)。Activity跳轉(zhuǎn)時只需要調(diào)用startActivity(Intent myIntent)方法。然后,系統(tǒng)會在所有安裝的應(yīng)用程序中定義的IntentFilter中查找,找到最匹配myIntent的Intent對應(yīng)的activity。新的activity接收到myIntent的通知后,開始啟動運行。當(dāng)startActivity方法被調(diào)用將觸發(fā)解析myIntent的動作,這個機制提供了兩個關(guān)鍵的好處:能夠重復(fù)利用從其他組件中以Intent的形式產(chǎn)生的一個請求和可以在任何時候被一個具有相同IntentFilter的新的startActivity取代。(2)Service(服務(wù)):Android應(yīng)用程序的后臺運行組件。Service沒有用戶界面的程序。服務(wù)組件在后臺運行,它們可以更新數(shù)據(jù)源和可見的Activity,并觸發(fā)Notification。它們被用來執(zhí)行一些需要在后臺持續(xù)的常規(guī)處理。例如媒體播放器這個activity會使用Context. startService()方法,連接到一個service上(如果這個service還沒有運行將啟動它)。當(dāng)連接到一個service之后,我們還可以通過service提供的接口與它進行通訊。(3)Content Provider(內(nèi)容提供器):用來管理和分享應(yīng)用程序數(shù)據(jù)庫。Content Provider是在應(yīng)用程序之間共享數(shù)據(jù)的首選方法。通過配置Content Provider允許其他應(yīng)用程序訪問存儲的數(shù)據(jù),也可以使用其他應(yīng)用程序提供的Content Provider來訪問它們存儲的數(shù)據(jù)。Android平臺也提供了系統(tǒng)自帶的Content Provider,如聯(lián)系人信息等。(4)Intent(意向):Activity之間的粘合劑。使用Intent,可以在系統(tǒng)范圍內(nèi)向目標(biāo)活動或者服務(wù)廣播消息,說明希望執(zhí)行某個動作的意圖。之后系統(tǒng)就會確定那些最適合執(zhí)行動作的目標(biāo)。(5)Intent Receiver(意向接收器):通過Intent Receiver實現(xiàn)應(yīng)用能夠?qū)σ粋€外部的事件作出響應(yīng),Intent ,()進行注冊。當(dāng)一個intent receive被觸發(fā)時,應(yīng)用不必對請求調(diào)用intent receive,系統(tǒng)會在需要的時候啟動你的應(yīng)用。()將它們自己的intent receive廣播給其他應(yīng)用程序。(6)Notification(通知):一種用戶通知框架。通過允許向用戶發(fā)送信號,而不會過分吸引他們的注意力或者打斷他們當(dāng)前的活動。它們是服務(wù)或者廣播接收器吸引用戶注意的首選方法。例如,當(dāng)設(shè)備接收到一個文本消息或者來電的時候,它可以通過閃燈、發(fā)出聲音、顯示圖標(biāo)或則會顯示對話框信息的方式提示用戶。 Android應(yīng)用系統(tǒng)文件結(jié)構(gòu)本文是基于Android平臺的開發(fā),采用的開發(fā)語言為JAVA。Eclipse是開源的開發(fā)工具,具有強大的功能及良好的用戶界面,深受廣大開發(fā)者喜愛本文采用了Eclipse+Android 。在Eclipse建立計算器的Android項目工程,計算器的工程文件名為jisuanqi2。然后加你存放源文件、資源文件、頁面文件等各個文件夾。整個工程項目的目錄結(jié)構(gòu)如圖42所示。圖41項目的目錄結(jié)構(gòu)圖其中src和gen文件夾下是整個項目的源文件,所有的java代碼都在這兩個文件夾下。src文件夾存放的是本文中開發(fā)的所有java文件。這java文件是整個項目的代碼。,此文件中包含了本文開發(fā)過程中所吸引的資源的標(biāo)示。 res是存放整個系統(tǒng)中所用到的所有資源,此文件夾包含五個文件夾。分別為anim、drawble、layout、values、valueszhrCN。其中anim文件夾下存放的是界面動畫效果。Drawble文件夾存放的是本文開發(fā)過程中所用到的所有圖片。Drawble包括drawablehdpi,drawableldpi,drawablemdpi三個文件夾,是為了適應(yīng)Android手機系統(tǒng)不同的屏幕大小而設(shè)計的。用高分辨率的屏幕時,頁面所需要的圖片在drawablehdpi中,用地分辨率的屏幕時,則采用drawableldpi文件夾下的資源圖片;而普通分辨率時采用drawablemdpi文件夾下的圖片資源。因此這種設(shè)計具有很好的版本適應(yīng)性及兼容性,大大提高了用戶體驗。,它位于Android工程的根目錄,描述了package中的全局?jǐn)?shù)據(jù),包括package中的組件,各自的實現(xiàn)類,各種能被處理的類和啟動位置等。Manifest文件的主要功能是聲明應(yīng)用程序的組件。例如,一個activitiy必須要有一個Activity標(biāo)志對應(yīng),無論它是供應(yīng)外部使用還是只用于自己的package中。如果一個Activity沒有對應(yīng)的標(biāo)記,他將不能被運行。activity android: name=.createactivity android: label=@string/app_name上述兩個語句就是Activity聲明。Name屬性指定了實現(xiàn)這Activity的Activity子類。Label屬性值指向此Activity要展示給用戶的標(biāo)簽資源。注意::android=。這些屬性為文件中的xml元素提供了大部分?jǐn)?shù)據(jù)。Layout文件夾下面存放了本文所用到的所有用戶界面的XML布局文件。當(dāng)系統(tǒng)調(diào)用生成用戶界面時,只需要引用對應(yīng)的引用符號即可。Values文件夾下存放的是本系統(tǒng)所用到的文字及數(shù)字資源,這些資源以鍵值得形式存放。如string name=”save_toast”The file has been savedsring。這些文字或數(shù)值資源對放在,resources/resources為開頭結(jié)尾的標(biāo)簽對xml文件中。ValueszhrCN文件夾存放的是資源的英文形式,當(dāng)程序所運行的系統(tǒng)平臺為英文系統(tǒng)時,調(diào)用values文件夾下資源;當(dāng)程序所運行的平臺為中文時,調(diào)用ValueszhrCN文件夾下資源,顯示中文方式。 構(gòu)建Android應(yīng)用程序用戶界面 Android應(yīng)用程序界面組件Android應(yīng)用程序的基礎(chǔ)功能單元是Activity。一個Activity可
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1