




已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程設(shè)計(jì)報(bào)告題目: 基于 Android的健康飲食搭配 院(系): 計(jì)算機(jī)系 專業(yè)班級(jí): 計(jì)科 1301 學(xué) 號(hào): 學(xué)生姓名: 1目 錄第 1章 課程設(shè)計(jì)目的與要求 .11.1設(shè)計(jì)目的 .11.2實(shí)驗(yàn)環(huán)境 .11.3預(yù)備知識(shí) .11.4設(shè)計(jì)要求 .1第 2章 課程設(shè)計(jì)內(nèi)容 .22.1 課題描述 .22.2 系統(tǒng)設(shè)計(jì) .42.2.1功能分析 .41.1 軟件產(chǎn)品名稱 .41.2 軟件總體功能 .42.2.2面向?qū)ο笤O(shè)計(jì) .42.2.2類成員描述 .72.3程序?qū)崿F(xiàn), .82.3.1源碼分析 .82.3.2運(yùn)行結(jié)果 .12第 3章 總結(jié) .16參考文獻(xiàn) .172第 1章 課程設(shè)計(jì)目的與要求1.1設(shè)計(jì)目的將理論教學(xué)中涉及到的知識(shí)點(diǎn)貫穿起來(lái),對(duì)不同的數(shù)據(jù)類型、程序控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)作一比較和總結(jié),結(jié)合設(shè)計(jì)題目進(jìn)行綜合性應(yīng)用,對(duì)所學(xué)知識(shí)達(dá)到融會(huì)貫通的程度。通過(guò)課程設(shè)計(jì),學(xué)生在下述各方面的能力應(yīng)該得到鍛煉:(1)進(jìn)一步鞏固、加深學(xué)生所學(xué)專業(yè)課程JAVA 語(yǔ)言教程的基本理論知識(shí),理論聯(lián)系實(shí)際,進(jìn)一步培養(yǎng)學(xué)生綜合分析問(wèn)題,解決問(wèn)題的能力。(2)全面考核學(xué)生所掌握的基本理論知識(shí)及其實(shí)際業(yè)務(wù)能力,從而達(dá)到提高學(xué)生素質(zhì)的最終目的。(3)利用所學(xué)知識(shí),開(kāi)發(fā)小型應(yīng)用系統(tǒng),掌握運(yùn)用 JAVA語(yǔ)言編寫(xiě)調(diào)試應(yīng)用系統(tǒng)程序,訓(xùn)練獨(dú)立開(kāi)發(fā)應(yīng)用系統(tǒng),進(jìn)行數(shù)據(jù)處理的綜合能力。(4)對(duì)于給定的設(shè)計(jì)題目,如何進(jìn)行分析,理清思路,并給出相應(yīng)的數(shù)學(xué)模型。(5)掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的方法。(6)熟練掌握 JAVA語(yǔ)言的基本語(yǔ)法,靈活運(yùn)用各種數(shù)據(jù)類型。(7)進(jìn)一步掌握在集成環(huán)境下如何調(diào)試程序和修改程序。1.2實(shí)驗(yàn)環(huán)境硬件要求能運(yùn)行 Windows 操作系統(tǒng)的微機(jī)系統(tǒng)。JAVA 語(yǔ)言應(yīng)用程序開(kāi)發(fā)軟件使用:VJAVA 系統(tǒng),或其他 JAVA語(yǔ)言應(yīng)用程序開(kāi)發(fā)軟件。1.3預(yù)備知識(shí)熟悉 JAVA語(yǔ)言程序設(shè)計(jì)的基本知識(shí)及 VJAVA編輯器的使用方法。1.4設(shè)計(jì)要求1.仔細(xì)分析設(shè)計(jì)題目,畫(huà)出程序流程圖,編寫(xiě)程序源代碼。2.積極上機(jī)調(diào)試源程序,增強(qiáng)編程技巧與調(diào)程能力。3.認(rèn)真書(shū)寫(xiě)課程設(shè)計(jì)預(yù)習(xí)報(bào)告,課程設(shè)計(jì)說(shuō)明書(shū)。4.遵守課程設(shè)計(jì)要求和機(jī)房管理制度,服從指導(dǎo)教師的安排,確保課程設(shè)計(jì)的順利完成課程設(shè)計(jì)內(nèi)容。3第 2章 課程設(shè)計(jì)內(nèi)容2.1 課題描述一 Android平臺(tái)1.谷歌與開(kāi)放手機(jī)聯(lián)盟合作開(kāi)發(fā)了 Android, 這個(gè)聯(lián)盟由包括中國(guó)移動(dòng)、摩托羅拉、高通、宏達(dá)和 T-Mobile在內(nèi)的 30多家技術(shù)和無(wú)線應(yīng)用的領(lǐng)軍企業(yè)組成。2.Android是一個(gè)真正意義上的開(kāi)放性移動(dòng)設(shè)備綜合平臺(tái)。通過(guò)與運(yùn)營(yíng)商、設(shè)備制造商、開(kāi)發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,來(lái)建立標(biāo)準(zhǔn)化、開(kāi)放式的移動(dòng)電話軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開(kāi)放式的生態(tài)系統(tǒng),這樣應(yīng)用之間的通用性和互聯(lián)性將在最大程度上得到保持。3.所有的 Android應(yīng)用之間是完全平等的。4.所有的應(yīng)用都運(yùn)行在一個(gè)核心的引擎上面,這個(gè)核心引擎其實(shí)就是一個(gè)虛擬機(jī),它提供了一系列用于應(yīng)用和硬件資源間進(jìn)行通訊的 API。撇開(kāi)這個(gè)核心引擎,Android 的所有其他的東西都是“應(yīng)用” 。5.Android打破了應(yīng)用之間的界限,比如開(kāi)發(fā)人員可以把 Web上的數(shù)據(jù)與本地的聯(lián)系人,日歷,位置信息結(jié)合起來(lái),為用戶創(chuàng)造全新的用戶體驗(yàn)。2Java 開(kāi)發(fā)環(huán)境Java技術(shù)包含了一個(gè)編程語(yǔ)言及一個(gè)平臺(tái)。Java 編程語(yǔ)言具有很多特性,如面向?qū)ο蟆⒖缙脚_(tái)、分布式、多線程、解釋性等等。Java 編程語(yǔ)言起源于 Sun公司的一個(gè)叫“Green”的項(xiàng)目,目的是開(kāi)發(fā)嵌入式家用電器的分布式系統(tǒng),使電氣更加智能化。1996年 1月發(fā)布了 JDK1.1版本,一門(mén)新語(yǔ)言自此走向世界。之后,1998 年 12月發(fā)布了 1.2版本,2002 年 2月發(fā)布 1.4版本,2004 年 10月發(fā)布 1.5版本(5.0) ,2006 年 12月發(fā)布1.6(6.0)版本,這是目前的最新版本。Java1.2 版本是一個(gè)重要的版本,基于該版本,Sun將 Java技術(shù)分為 J2SE、J2ME、J2EE,其中 J2SE為創(chuàng)建和運(yùn)行 Java程序提供了最基本的環(huán)境,J2ME 與 J2EE建立在 J2SE的基礎(chǔ)上,J2ME 為嵌入式應(yīng)用(如運(yùn)行在手機(jī)里的Java程序)提供開(kāi)發(fā)與運(yùn)行環(huán)境,J2EE 為分布式的企業(yè)應(yīng)用提供開(kāi)發(fā)與運(yùn)行環(huán)境。3EclipseEclipse的基礎(chǔ)是富客戶機(jī)平臺(tái)(Rich Client Platform,即 RCP) 。RCP包括下列組件: 核心平臺(tái)(Eclipse,運(yùn)行插件) 標(biāo)準(zhǔn)集束框架(OSGi : Open Service Gateway initiative) 可移植構(gòu)件工具包(SWT : Eclipses Standard Widget Toolkit) JFace(文件緩沖,文本處理,文本編輯器)Eclipse采用的技術(shù)是 IBM公司開(kāi)發(fā)的 SWT,這是一種基于 Java的窗口組件,類似 Java4本身提供的 AWT和 Swing窗口組件:不過(guò) IBM聲稱 SWT比其他 Java窗口組件更有效率。Eclipse的用戶界面還使用了 GUI中間層 JFace,從而簡(jiǎn)化了基于 SWT的應(yīng)用程序的構(gòu)建。Eclipse的設(shè)計(jì)思想是:一切皆插件。Eclipse 核心很小,其他所有功能都以插件的形式附加于 Eclipse核心之上。Eclipse 基于內(nèi)核包括:圖形 API(SWT/JFace) ,Java 開(kāi)發(fā)環(huán)境插件(JDT),插件開(kāi)發(fā)環(huán)境(PDE)等。Eclipse 的插件機(jī)制是輕型軟件組件化架構(gòu)。在富客戶機(jī)平臺(tái)上,Eclipse 使用插件來(lái)提供所有的附加功能,例如支持 Java以外的其他語(yǔ)言。已有的分離的插件已經(jīng)能夠支持 C/C+(CDT)、Perl、Ruby、Python、telnet 和數(shù)據(jù)庫(kù)開(kāi)發(fā)。插件架構(gòu)能夠支持將任意的擴(kuò)展加入到現(xiàn)有環(huán)境中,例如配置管理,而決不僅僅限于支持各種編程語(yǔ)言。4Android 程序基礎(chǔ)Android 應(yīng)用程序的構(gòu)成1.Activity 顧名思義,Activity 就是活動(dòng)。應(yīng)用程序必須至少包含一個(gè)Activity。Activity 提供了一個(gè)虛擬的用戶接口,每一個(gè) Activity都有一個(gè)默認(rèn)的窗口可以用來(lái)顯示用戶界面,一般情況下,它是全屏的窗口。例如,影音播放軟件的每個(gè)用戶界面就是 Activity。2.Service Service與 Activity的主要區(qū)別在于,Service 是在后臺(tái)活動(dòng)的,它沒(méi)有用戶界面。典型的應(yīng)用場(chǎng)景是,用戶選擇了一個(gè)播放列表開(kāi)始播放后,離開(kāi)了該用戶界面(Activity),如果仍然希望歌曲不會(huì)暫停,就可以用 Service去調(diào)用播放器,而不是在 Activity中調(diào)用播放器。3.Intent 在 Android中,每一個(gè)行為都可以抽象為一個(gè) Intent??梢院?jiǎn)單地把Intent理解為一個(gè)包含了數(shù)據(jù)的消息。Intent 可以用于啟動(dòng)一個(gè) Act-ivity或者Service,可以用于進(jìn)程間的通信。事實(shí)上,應(yīng)用程序的啟動(dòng)也是通過(guò) Intent實(shí)現(xiàn)的。4.Content providers Android平臺(tái)內(nèi)置了一套 SQLite數(shù)據(jù)儲(chǔ)存機(jī)制,并包含一系列管理 SQLite Database的相關(guān)方法。在應(yīng)用程序中,可以通過(guò) Content prov-iders訪問(wèn)數(shù)據(jù)庫(kù)。每個(gè) Content provider都定義了一系列的方法用于訪問(wèn)它對(duì)應(yīng)的數(shù)據(jù)庫(kù)。應(yīng)用程序在新建數(shù)據(jù)庫(kù)時(shí)也可以定義相應(yīng)的 Con-tent provider用于向其他應(yīng)用程序共享5數(shù)據(jù)。一般情況下,應(yīng)用程序不直接調(diào)用 Content provider定義的函數(shù),而是通過(guò)ContentResolver間接調(diào)用。2.2 系統(tǒng)設(shè)計(jì)2.2.1功能分析1.1 軟件產(chǎn)品名稱一個(gè)基于 Android平臺(tái)健康飲食搭配軟件1.2 軟件總體功能(1) 能夠預(yù)覽各種食物 (2) 能查看具體食物的詳細(xì)信息(3) 能夠上下滑動(dòng)尋找食物信息 (4) 能夠在手機(jī)上使用該系統(tǒng)2.2.2面向?qū)ο笤O(shè)計(jì)1. 類的設(shè)計(jì)(1)系統(tǒng)類層次結(jié)構(gòu)圖如圖 2.1圖 2.1系統(tǒng)類層次及結(jié)構(gòu)圖MainAppFoodListViewFoodIofoAbout6(2)類的詳細(xì)設(shè)計(jì)cn.zz.activity包括了 4個(gè)主要的類1 .MainApp是這個(gè)程序的主類負(fù)責(zé)程序的執(zhí)行和監(jiān)視等等2. FoodListView主要負(fù)責(zé)食物的列表預(yù)覽3. About的功能是顯示程序的備注說(shuō)明信息4. FoodInfo主要是具體食物的詳細(xì)信息7(3) 本系統(tǒng)整體 UML圖如圖 2.2所示:圖 2.2UML圖MainAppButton list( )Button about( )onClickIntent ( )List()ButtonOnClickListener()onCreate()-memberNameFoodListViewListView ()String()ActivityListActivity ()-memberNameFoodInfoButton image()-Button back()82.2.2類成員描述明確了主要功能后,就需要對(duì)此軟件基本流程有一個(gè)總體規(guī)劃,本款手機(jī)軟件基本流程圖如圖2.3所示。圖 2.3程序總體流程圖開(kāi) 始菜 單 頁(yè) 面進(jìn) 入食 物 搭 配 表食 物 營(yíng) 養(yǎng) 表 關(guān) 于 本 軟 件瀏 覽 各 種 食 物 搭 配返 回結(jié) 束9成員描述本程序主要包含了 4個(gè)類1 .MainApp類,這個(gè)是 Activity類的子類,由于上文已經(jīng)介紹過(guò) Activity,這里就不做過(guò)多贅述。OnClickListener()是 Activity其中的一個(gè)方法主要負(fù)責(zé)對(duì) Click這個(gè)事件的監(jiān)視。這個(gè)類中還分別定義了兩個(gè)按鈕 Button list和 Button about一個(gè)是控制列表的一個(gè)是控制查詢的。當(dāng)程序執(zhí)行 onClick() ,OnClickListener()就會(huì)監(jiān)視到這個(gè)事件進(jìn)行一系列的處理。2. FoodListView 類,這個(gè)類是 ListActivity類的子類,繼承了他的OnItemClickListener()方法,這個(gè)方法主要用來(lái)對(duì) OnItemClick事件進(jìn)行監(jiān)視,也就是對(duì)列表滑動(dòng)事件進(jìn)行監(jiān)視。這個(gè)類使用了 listView這個(gè)控件來(lái)控制列表中視圖顯示項(xiàng)目。其中各種食物的詳細(xì)信息都用靜態(tài)數(shù)組 String 進(jìn)行存儲(chǔ)。還用到了一個(gè)重要的控件就是 SimpleAdapter,它是一個(gè)簡(jiǎn)單的適配器,可以將靜態(tài)數(shù)據(jù)映射到 XML文件中定義 好的視圖。你可以指定數(shù)據(jù)支持的列表如 ArrayList組成的 Map。在 ArrayList中 的每個(gè)條目對(duì)應(yīng) List中的一行。Maps 包含每行數(shù)據(jù)。你可以指定一個(gè)定義了被用于顯示行的視圖 XML文件,通過(guò)關(guān)鍵字映射到指定的視圖。3. About 類,這個(gè)類里面只有一個(gè) onCreate()方法用來(lái)“表示一個(gè)窗口正在生成” 。其不產(chǎn)生窗口,只是在窗口顯示前設(shè)置窗口的屬性如風(fēng)格、位置等。 4. FoodInfo 類,這個(gè)類也是 ListActivity的子類,其中里面有 2個(gè)按鈕 Button image和 Button back一個(gè)是圖片按鈕,另一個(gè)是返回按鈕。還有一個(gè) TextView用來(lái)顯示文本信息。這個(gè)類中只有一個(gè)簡(jiǎn)單的 onClick事件。就不做過(guò)多敘訴了。2.3程序?qū)崿F(xiàn),2.3.1源碼分析/*此代碼是健康食物搭配的部分源碼,下部分是程序的主代碼部分由張齊設(shè)計(jì),完成時(shí)間是 2013年 6月*/package cn.zz.activity;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 主要施工機(jī)械設(shè)備節(jié)約成本計(jì)劃
- 水泥廠移動(dòng)操作平臺(tái)安全管理措施
- 六年級(jí)英語(yǔ)寫(xiě)作能力計(jì)劃
- 國(guó)際貿(mào)易崗位招聘面試流程他
- 個(gè)別教育課程設(shè)計(jì)計(jì)劃
- 與相關(guān)單位的內(nèi)審監(jiān)督協(xié)調(diào)措施
- 智能樓宇可視化系統(tǒng)實(shí)習(xí)總結(jié)范文
- 外研版英語(yǔ)七年級(jí)下話題作文范文寫(xiě)作素材
- 初二英語(yǔ)寫(xiě)作能力教學(xué)計(jì)劃
- 四年級(jí)道德與法治學(xué)習(xí)效果計(jì)劃
- 4輸變電工程施工質(zhì)量驗(yàn)收統(tǒng)一表式(電纜工程電氣專業(yè))-2024年版
- 智慧的光芒普照每位學(xué)生 論文
- 門(mén)診過(guò)敏性休克搶救流程圖
- 銷售行業(yè)跑業(yè)務(wù)計(jì)劃書(shū)
- 義務(wù)教育英語(yǔ)課程標(biāo)準(zhǔn)(2022年版)
- 特勞特-定位課件
- 口腔工藝管理基教學(xué)課件
- 少兒財(cái)商的培養(yǎng)(課堂)課件
- 混凝土橋面鋪裝施工方案-
- 自卸車司機(jī)培訓(xùn)考試題
- 普工三級(jí)安全教育試題及答案
評(píng)論
0/150
提交評(píng)論