【正文】
nong365 14 表 處理邏輯的描述 處理邏輯編號(hào) 處理邏輯名稱 簡(jiǎn)述 輸入的數(shù)據(jù)流 處理 輸出的數(shù)據(jù)流 處理頻率 P1 啟動(dòng) 啟動(dòng)軟件 F1 啟動(dòng)軟件 F2 20/day P2 記事列表 顯示列表 F2 查看記事列表 F3,F4,F5 20/day P3 刪除 刪除 F4 刪除該記事 F5 20/day P4 添加 添加 F5 添加該記事 F8 20/day P5 編輯 編輯 F3 編輯該記事 F7 20/day 表 數(shù)據(jù)存儲(chǔ)的描述表 數(shù)據(jù)存儲(chǔ) 編號(hào) 數(shù)據(jù)存儲(chǔ) 名稱 簡(jiǎn) 述 數(shù)據(jù)存儲(chǔ)組 成 相關(guān)聯(lián)的處理 D Sqlite數(shù)據(jù)庫(kù) 用于存儲(chǔ)記事的數(shù)據(jù)庫(kù) 記事的詳細(xì)信息:記事名稱,內(nèi)容,記事時(shí)間 P3F6D,P5F7D, P4F8D 表 外部實(shí)體的描述表 外部實(shí)體編號(hào) 外部實(shí)體名稱 簡(jiǎn)述 外部實(shí)體組成 輸入的數(shù)據(jù)流 輸出的數(shù)據(jù)流 S 用戶 操作系統(tǒng)軟件的客戶或者管理員 客戶或者管理員 無(wú) F1 找畢業(yè)設(shè)計(jì)、項(xiàng)目源碼、編程視頻,就上碼農(nóng)網(wǎng) manong365 15 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì) 在記事本軟件中,記事作為主要操作對(duì)象,其 ER 圖如下圖 37 所示。隨著手機(jī)記事本功能的不斷加強(qiáng)與完善,手機(jī)記事本對(duì)于人們的意義,已不僅僅像記事簿一樣簡(jiǎn)單記錄,而是向著個(gè)性化、人性化的方向發(fā)展。列表界面主菜單中包括添加、刪除菜單項(xiàng)。 記事本軟件是手機(jī)的主要應(yīng)用軟件,主要滿足事務(wù)記錄、事務(wù)提醒、事物查詢等移動(dòng)辦公的簡(jiǎn)單需求。在本課程設(shè)計(jì)中,也嘗試性 開發(fā)了基于 Android 手機(jī)的記事本軟件,實(shí)現(xiàn)了記事本的基本功能 本文的軟件開發(fā)環(huán)境采用了 Eclipse + Android SDK 集成環(huán)境,編程語(yǔ)言采用了Java。 依賴和約束 基于 android 系統(tǒng)平臺(tái)的設(shè)備或模擬器 。在 Android 手機(jī)中,還可以開發(fā)多媒體形式的記事本軟件。 表 角色 (崗位 ) 職責(zé) 技能要求 高級(jí)經(jīng)理 提供項(xiàng)目組足夠的資源、資金等支持; 批準(zhǔn)并參與項(xiàng)目計(jì)劃的評(píng)審; 定期審閱項(xiàng)目經(jīng)理提交的相關(guān)報(bào)告; 項(xiàng)目經(jīng)理 制定項(xiàng)目計(jì)劃并依據(jù)計(jì)劃對(duì)項(xiàng)目進(jìn)行監(jiān)督與跟蹤控制; 事件驅(qū) 動(dòng)或定期向高級(jí)經(jīng)理匯報(bào)項(xiàng)目的進(jìn)展情況; 對(duì)項(xiàng)目中出現(xiàn)的問題及時(shí)采取相應(yīng)措施; 設(shè)計(jì)人員 參與負(fù)責(zé)新產(chǎn)品需求工作、概要設(shè)計(jì)、部分詳細(xì)設(shè)計(jì) VSTS 開發(fā)人員 參與負(fù)責(zé)新產(chǎn)品的設(shè)計(jì),編碼以及單元測(cè)試 Android/java 找畢業(yè)設(shè)計(jì)、項(xiàng)目源碼、編程視頻,就上碼農(nóng)網(wǎng) manong365 18 第 5 章 系統(tǒng)實(shí)現(xiàn) 應(yīng)用程序功能實(shí)現(xiàn) 本系統(tǒng)的主要功能所用到類以及其作用,具體如表 系統(tǒng)結(jié)構(gòu)類圖說(shuō)明所示。 圖 51 系統(tǒng)啟動(dòng)主界面 找畢業(yè)設(shè)計(jì)、項(xiàng)目源碼、編程視頻,就上碼農(nóng)網(wǎng) manong365 19 Android 的每一個(gè)可視化界面都有一個(gè)唯一的 布局配置文件,該文件里面有許多種布局方式,和各種資源文件如圖像,文字,顏色,本程序在運(yùn)行時(shí),可以通過(guò)代碼對(duì)各配置文件里面的內(nèi)容進(jìn)行讀取以完成 Android 應(yīng)用程序的界面。其主要代碼如下: LinearLayout mainLayout = (LinearLayout) getLayoutInflater().inflate( , null)。 calendarView = new CalendarView(this)。 該代碼主要把日程應(yīng)用程序的主界面展現(xiàn)在用戶面前。 下面為布局文件 的代碼。 圖 52 分享界面 首先需要在單擊選項(xiàng)菜單時(shí)顯示如圖 52 所示的設(shè)置分享的對(duì)話框,菜單單擊事件的代碼如下: builder = new (activity)。 (, , , this)。 adMyDate = ()。 ()。Android 在運(yùn)行時(shí)集成了 SQLite,所以每個(gè) Android 應(yīng)用程序都可以使用 SQLite 數(shù)據(jù)庫(kù)。 但是 ,由于 JDBC 不適合手機(jī)這種內(nèi)存受限設(shè)備,所以 Android 開發(fā)人員需要 學(xué)習(xí)新的 API 來(lái)使用 SQLite。在 Android應(yīng)用程序中使用 SQLite,必須自己創(chuàng)建數(shù)據(jù)找畢業(yè)設(shè)計(jì)、項(xiàng)目源碼、編程視頻,就上碼農(nóng)網(wǎng) manong365 21 庫(kù),然后創(chuàng)建表、索引,填充數(shù)據(jù)。SQLiteOpenHelper類根據(jù)開發(fā)應(yīng)用程序的需要,封裝了創(chuàng)建和更新數(shù)據(jù)庫(kù)使用的邏輯。這個(gè)方法需要四個(gè)參數(shù):上下文環(huán)境(例如,一個(gè) Activity),數(shù)據(jù)庫(kù)名字,一個(gè)可選的游標(biāo)工廠(通常是 Null),一個(gè)代表你正在使用的數(shù)據(jù)庫(kù)模型版本的整數(shù)。 ?onUpgrage() 方法,它需要三個(gè)參數(shù),一個(gè) SQLiteDatabase對(duì)象,一個(gè)舊的版本號(hào)和一個(gè)新的版本號(hào),這樣你就可以清楚如何把一個(gè)數(shù)據(jù)庫(kù)從舊的模型轉(zhuǎn)變到新的模型。當(dāng)我們需要在數(shù)據(jù)庫(kù)中進(jìn)行創(chuàng)建表、刪除數(shù)據(jù)、插入數(shù)據(jù)時(shí),一般就要調(diào)用getReadableDatabase()或 getWriteableDatabase()方法, 來(lái) 得到 SQLiteDatabase實(shí)例 去改變數(shù)據(jù)庫(kù)里的內(nèi)容。 SQLiteDatabase db = ()。 } 而查詢數(shù)據(jù)時(shí)我們就要用到 Cursor游標(biāo)來(lái)遍歷數(shù)據(jù)庫(kù)中的數(shù)據(jù)了,其代碼如下: public Cursor query(String date) { SQLiteDatabase db = ()。 + date + 39。 return cursor。通過(guò)軟件測(cè)試我們能夠發(fā)現(xiàn)其中的一些錯(cuò)誤和不合理的地方,這對(duì)于系統(tǒng)的完善是極有好處的。通常對(duì)軟件的定義有兩種描述,第一 軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而必須執(zhí)行的程序的過(guò)程;第二軟件測(cè)試是根據(jù)軟件設(shè)計(jì)開發(fā)各階段的需求說(shuō)明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)的一些測(cè)試用例,并利用這些測(cè)試用例運(yùn)行程序和及時(shí)發(fā)現(xiàn)錯(cuò)誤的過(guò)程,即執(zhí)行測(cè)試步驟。 按照軟件測(cè)試的策略和過(guò)程分類,軟件測(cè)試可分為單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)證測(cè)試和確認(rèn)測(cè)試。 ( 2)及時(shí)正確的處理系統(tǒng)各種錯(cuò)誤的異常。 功能描述:驗(yàn)證添加記錄信息功能。 前提條件:已經(jīng)進(jìn)入到添加記錄信息的頁(yè)面。 功能描述:驗(yàn)證修改記錄信息功能。 找畢業(yè)設(shè)計(jì)、項(xiàng)目源碼、編程視頻,就上碼農(nóng)網(wǎng) manong365 23 前提條件:已經(jīng)進(jìn)入到修改記錄信息的頁(yè)面。 功能描述:驗(yàn)證刪除記錄信息功能。 前提條件:已經(jīng)進(jìn)入到刪除記錄信息的頁(yè)面。 功能描述:驗(yàn)證查看記錄信息功能。 前提條件:已經(jīng)進(jìn)入到查看記錄信息的頁(yè)面。一個(gè)完整的運(yùn)行的系統(tǒng)不可能一步做到完美的地步,這需要在以后的學(xué)習(xí)生活中進(jìn)一步完善。最后經(jīng)過(guò)多方面的方法測(cè)試,本應(yīng)用程序基本設(shè)計(jì)完成,能夠正常運(yùn)行。由于在 Android 系統(tǒng)下開發(fā)程序和在 JavaME 的原理類似,所以本系統(tǒng)也采用了類似于 MVC 模式的原理。本程序的一個(gè)特點(diǎn)是在界面上進(jìn)行了優(yōu)化,在處理一些事務(wù)的邏輯算法上進(jìn)行了優(yōu)化。一方面,本程序采用了類似于 MVC 模型的開發(fā)模式,由 Activity 類負(fù)責(zé)調(diào)用處理事務(wù)的方法并在前臺(tái)進(jìn)行顯示,由 xml 文件負(fù)責(zé)頁(yè)面的布局。基于以上原因,使得本程序在以后的擴(kuò)展和程序的升級(jí)上都有很大的空間。而且還使我認(rèn)識(shí)到一個(gè)優(yōu)秀的程序離不了測(cè)試,只有不斷的進(jìn)行測(cè)試,我們的程序才能趨于完美。而在這最后的幾個(gè)月時(shí)間也同樣離不開老師的教誨和指導(dǎo),我深知如果沒有老師的指導(dǎo),我的論文不可能那么順利的完成了。 首先,我要非常感謝我的導(dǎo)師。在平常的學(xué)習(xí)生活中能夠像朋友一樣鼓勵(lì)你,而在畢業(yè)論文的寫作 和措辭等方面她總會(huì)以非常嚴(yán)格的標(biāo)準(zhǔn)要求你。正是由于老師的細(xì)心幫助和不厭其煩的指導(dǎo),我的畢業(yè)論文才能順利完成。 最后,還要深深感謝我的同學(xué)和家人,是他們給予了我精神上和物質(zhì)上的鼓勵(lì),使我得以順利完成了畢業(yè)論文。我不會(huì)辜負(fù)老師和同學(xué)的期望,我會(huì)更加努力的。s code runs in isolation from other applications. By default, every application runs in its own Linux process. Android starts the process when any of the application39。s no longer needed or when the system must recover memory for other applications. In this way, the Android system implements the principle of least privilege. That is, each application, by default, has access only to the ponents that it requires to do its work and no more. This creates a very secure environment in which an application cannot access parts of the system for which it is not given permission. However, there are ways for an application to share data with other applications and for an application to access system services: 找畢業(yè)設(shè)計(jì)、項(xiàng)目源碼、編程視頻,就上碼農(nóng)網(wǎng) manong365 28 It39。s files. To conserve system resources, applications with the same user ID can also arrange to run in the same Linux process and share the same VM (the applications must also be signed with the same certificate). An application can request permission to access device data such as the user39。s overall behavior. There are four different types of application ponents. Each type serves a distinct purpose and has a distinct lifecycle that defines how the ponent is created and destroyed. Here are the four types of application ponents: Activities An activity represents a single screen with a user interface. For example, an application might have one activity that shows a list of new s, another activity to 找畢業(yè)設(shè)計(jì)、項(xiàng)目源碼、編程視頻,就上碼農(nóng)網(wǎng) manong365 29 pose an , and another activity for reading s. Although the activities work together to form a cohesive user experience in the application, each one is independent of the others. As such, a different application can start any one of these activities (if the application allows it). For example, a camera application can start the activity in the application that poses new mail, in order for the user to share a picture. An activity is implemented as a subclass of Activity and you can learn more about it in the Activities developer guide. Services A service is a ponent that runs in the background to perform longrunning operations or to perform work for remote processes. A service does not provide a user interface. For example, a