畢業(yè)論文(設(shè)計)基于安卓多功能時鐘app設(shè)計與實現(xiàn)
《畢業(yè)論文(設(shè)計)基于安卓多功能時鐘app設(shè)計與實現(xiàn)》由會員分享,可在線閱讀,更多相關(guān)《畢業(yè)論文(設(shè)計)基于安卓多功能時鐘app設(shè)計與實現(xiàn)(60頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、畢業(yè)論文(設(shè)計)基于安卓多功能時鐘app設(shè)計與實現(xiàn) 目 錄 摘 要 1 ABSTRACT 2 第1章 緒論 3 1.1 開發(fā)背景 3 1.2 研究現(xiàn)狀 5 1.3 本文的主要工作 6 1.4 論文的組織結(jié)構(gòu) 6 第2章 安卓相關(guān)介紹 7 2.1 安卓系統(tǒng)介紹 7 2.1.1 安卓技術(shù)簡介 7 2.1.2 安卓應(yīng)用程序組件 8 2.2 Android Studio簡介 10 2.2.1架構(gòu)組成 10 2.2.2主要功能 10 第3章 需求分析 12 3.1 多功能時鐘的功能需求 12 3.2 多功能時鐘的性能需求 13 第4章 多功能時鐘的架構(gòu)設(shè)計 14 4.1多功能時鐘設(shè)計目標(biāo)和原則
2、 14 4.2多功能時鐘的架構(gòu)設(shè)計 14 4.3多功能時鐘的功能設(shè)計 15 第5章 多功能時鐘的詳細設(shè)計與實現(xiàn) 18 5.1 界面設(shè)計 18 5.2 多功能時鐘的功能設(shè)計 19 5.2.1顯示時間功能 19 5.2.2鬧鐘功能 21 5.2.3計時器功能 27 5.2.4秒表功能 29 第6章 多功能時鐘的實現(xiàn)與測試 32 6.1 多功能時鐘的架構(gòu)實現(xiàn)與測試 32 6.2 多功能時鐘的模塊實現(xiàn)與測試 32 結(jié)論 33 致謝 34 參考文獻 35 附錄 36 附錄1 英文原文 36 附錄2 中文譯文 41 應(yīng)用程序基礎(chǔ)Android Developers 41 基于安卓的多功能時鐘APP設(shè)
3、計與實現(xiàn) 摘 要 隨著移動通訊技術(shù)的快速發(fā)展逐漸趨于成熟以及手機、平板等各類智能設(shè)備用戶數(shù)量的增長,應(yīng)用逐漸趨向移動化,移動應(yīng)用取得突飛猛進地發(fā)展,極大地改變了人們的日常生活。隨著移動用戶數(shù)量的增長,移動應(yīng)用的開發(fā)與更新速度逐漸加快,移動應(yīng)用也為各類智能終端用戶提供了更方便、舒適和豐富多彩的生活。 本應(yīng)用是多功能時鐘手機應(yīng)用程序,使用的語言是java編程語言,開發(fā)平臺是谷歌研發(fā)的Android開發(fā)環(huán)境Android Studio。本應(yīng)用主要包括顯示時鐘功能,可以顯示當(dāng)前時間;鬧鐘功能,可以進行鬧鐘的添加和刪除;計時器功能,可以添加倒計時時間、開始、暫停、繼續(xù)和重置;秒表功能,可以開始、暫
4、停、繼續(xù)、記錄、重置。 首先,本文討論了移動應(yīng)用的開發(fā)背景、現(xiàn)狀,接著進行了相關(guān)技術(shù)的介紹,然后分析了多功能時鐘APP的功能和性能需求。在需求分析基礎(chǔ)上,進行了多功能時鐘APP的架構(gòu)設(shè)計和實現(xiàn)。接著進行APP的詳細設(shè)計,詳細介紹了代碼編寫實現(xiàn)。在詳細設(shè)計的基礎(chǔ)上,給出了APP的實現(xiàn)、測試改進、調(diào)整優(yōu)化。 關(guān)鍵字:安卓;移動應(yīng)用;多功能;時鐘。 ABSTRACT With the rapid development of mobile communication technology is gradually mature and smart devices of va
5、rious types, such as mobile phones, tablet the growth of the number of users, application gradually incline to mobile, mobile application development by leaps and bounds, greatly changed People's Daily life. As the growth of the number of mobile users, mobile application development and update speed
6、 gradually speeding up, the mobile application also provides all kinds of intelligent terminal users with more convenient, comfortable and colorful life. This application is multi-functional clock mobile applications, the use of language is the Java programming language, development platform was dev
7、eloped by Google Android development environment Android Studio. This application is mainly including showing the clock function, it can display the current time. The alarm clock function, and you can make the alarm clock to add and delete; Timer function, you can add the countdown time, start, paus
8、e, continue, and reset; Stopwatch function, you can start, pause, continue, records, reset. First, this paper discusses the development of mobile application background, present situation, then has carried on the related technology is introduced, and then analyzes the functions of multi-functional
9、clock APP and performance requirements. On the basis of demand analysis, has carried on the multi-functional clock APP architecture design and implementation. Then APP in the detailed design, coding are introduced in detail. On the basis of the detailed design and the realization of the APP, testing
10、, adjusting and optimizing improvement. Keyword: android,mobile application,multi-function,clock 第1章 緒論 1.1 開發(fā)背景 在以前的10年里,世界電信發(fā)生了很大的改變,移動通信尤其是蜂窩小區(qū)的快速發(fā)展,使得用戶徹底脫離了終端設(shè)備的限制,達到了比較完美的個人移動性,靠得住的傳輸信息手段和芯線對接方式?,F(xiàn)在進入21世紀(jì)后,移動通信將逐步演化成社會發(fā)展和前進的不可缺少的工具。目前移動通信技術(shù)的發(fā)展分為第一代移動通信技術(shù)(1G)、第二代移動通信技術(shù)(2G)、第三代移動通信技術(shù)(3G)、第四代移動通
11、信及其技術(shù)(4G)。 1G是根據(jù)模擬進行傳輸?shù)?,它的特點是業(yè)務(wù)量比較小、安全性比較差、質(zhì)量比較差、速度低、沒有加密。1G的傳輸速率約2.4kbit/s。2G主要包括客戶化應(yīng)用移動網(wǎng)絡(luò)增強邏輯(CMAEL)、支持最佳路由(S0)、立即計費、與全速率完全兼容的增強型話音編解碼技術(shù)等,通話聲音的質(zhì)量得到了質(zhì)的改變,數(shù)據(jù)傳送速率可達115/384kbit/s。3G最基本的特征是智能信號處理技術(shù),它可以提供前兩代通信系統(tǒng)所不能提供的各種寬帶信息業(yè)務(wù)。4G是結(jié)合3G與WLAN,并且可以進行高質(zhì)量視頻圖像的傳輸。4G系統(tǒng)下載速度可以達到100Mbps,也可以以20Mbps的速度上傳,并且可以達到絕大多數(shù)用
12、戶關(guān)于無線網(wǎng)絡(luò)服務(wù)的需求。 智能手機,其具有獨立的操作系統(tǒng)和運行空間,用戶可以自行安裝第三方服務(wù)商提供的程序(軟件、游戲、導(dǎo)航等),并且能夠通過移動通訊網(wǎng)絡(luò)來實現(xiàn)無線網(wǎng)絡(luò)接入手機的類型。智能手機的使用范圍已經(jīng)遍布整個世界,但并不是每個人都知道、熟悉和使用。因為智能手機具有優(yōu)秀的操作系統(tǒng)、可以自由地安裝各類軟件(僅限安卓系統(tǒng))、完全大屏的全觸屏式操作感這三大特性,所以完全終結(jié)了前幾年的鍵盤式手機。其中谷歌(Google)、三星、宏達電(HTC)、蘋果、諾基亞這五大品牌在全世界最被大眾所知道,而華為(HUAWEI)、聯(lián)想(Lenovo)、小米(MI)、魅族(MEIZU)、酷派(Coolpad)、
13、金立(GIONEE)、中興(ZTE)、一加手機(oneplus)、天宇(K-Touch)等品牌在中國備受關(guān)注。 智能手機支持多種操作系統(tǒng),如:谷歌的Android(中文:安卓/安致,全球第一大智能操作系統(tǒng),占據(jù)全球智能手機操作系統(tǒng)市場79%左右的份額),蘋果公司的IOS(全球第二大智能操作系統(tǒng)),微軟公司的Windows Phone(全球第三大智能操作系統(tǒng)),RIM公司的黑莓(Blackberry,全球第四大智能操作系統(tǒng)),塞班公司的Symbian(全球第五大智能操作系統(tǒng)),三星集團的bada(全球第六大智能操作系統(tǒng)),魅族公司的Flyme OS系統(tǒng)等。 智能手機具有六大特點:①具備無線接
14、入互聯(lián)網(wǎng)的能力:即需要支持GSM網(wǎng)絡(luò)下的GPRS或者CDMA網(wǎng)絡(luò)的CDMA1X或3G(WCDMA、CDMA-2000、TD-CDMA)網(wǎng)絡(luò),甚至4G(HSPA+、FDD-LTE、TDD-LTE)。②具有PDA的功能:包括PIM(個人信息管理)、日程記事、任務(wù)安排、多媒體應(yīng)用、瀏覽網(wǎng)頁。③具有開放性的操作系統(tǒng):擁有獨立的核心處理器(CPU)和內(nèi)存,可以安裝更多的應(yīng)用程序,使智能手機的功能可以得到無限擴展。④人性化:可以根據(jù)個人需要擴展機器功能。根據(jù)個人需要,實時擴展機器內(nèi)置功能,以及軟件升級,智能識別軟件兼容性,實現(xiàn)了軟件市場同步的人性化功能。⑤功能強大:擴展性能強,第三方軟件支持多。⑥運行速度
15、快:隨著半導(dǎo)體業(yè)的發(fā)展,核心處理器(CPU)發(fā)展迅速,使智能手機在運行方面越來越極速。 安卓平板電腦(Android平板電腦)是搭載了谷歌Android操作系統(tǒng)的平板電腦,可以進行商務(wù)定制的一款定位于筆記本電腦與智能手機之間的移動商務(wù)終端,同時也是是一款攜帶方便而且通信功能完善而強大的移動數(shù)據(jù)終端。安卓平板電腦(Android 平板電腦)功能強大,不僅可搭載豐富的消費類娛樂應(yīng)用,還可實現(xiàn)移動商務(wù)辦公,隨時隨地可以使用無線上網(wǎng),系統(tǒng)反應(yīng)速度快,畫面清晰細膩,觸感輕柔敏銳,機身細薄,小巧玲瓏,便于隨身攜帶,比手提電腦更輕巧,比手機屏幕更寬廣,但又具有手提電腦上網(wǎng)查詢看電影看網(wǎng)頁的功能,以及手機翻
16、閱信息、收發(fā)郵件、撥打電話的功能。 Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機和平板電腦,由Google公司和開放手機聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。尚未有統(tǒng)一中文名稱,中國大陸地區(qū)較多人使用“安卓”或“安致”。Android操作系統(tǒng)最初由Andy Rubin開發(fā),主要支持手機。Android一詞的本義指“機器人”,同時也是Google于x年11月5日宣布的基于Linux平臺的開源手機操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。x年11月5日,谷歌公司正式向外界展示了這款名為Android的操作系統(tǒng),并且在這天谷歌宣布建立一個全球性的
17、聯(lián)盟組織。x年8月2日,Android手機已占據(jù)全球智能機市場48%的份額,并在亞太地區(qū)市場占據(jù)統(tǒng)治地位,終結(jié)了Symbian(塞班系統(tǒng))的霸主地位,躍居全球第一。 Android系統(tǒng)目前已經(jīng)布滿我們生活的各個方面,如:手機、平板電腦、電視、電視盒子、游戲機、手表和車載系統(tǒng)等。隨著Android系統(tǒng)的逐步發(fā)展,安卓應(yīng)用如雨后春筍般出現(xiàn),現(xiàn)實生活中需要很多物品才能實現(xiàn)的多個功能僅僅一個安卓應(yīng)用就可以實現(xiàn)。在這里,通過編程實現(xiàn)多功能時鐘,可以集手表、鬧鐘等功能于一體,使其簡單、方便、實用。 1.2 研究現(xiàn)狀 Android系統(tǒng)自從出現(xiàn)以來,就以其開放性、豐富的硬件、便于開發(fā)等優(yōu)勢逐漸擴大自己的
18、市場份額,尤其在國外,其呼聲日高,正處于迅速發(fā)展的開拓階段。x年第一季度,在美國,基于Android系統(tǒng)的智能手機的銷售量已占據(jù)整個美、美國手機銷售量的28%份額,而IPhone手機的市場份額緊追其后。隨著Android系統(tǒng)的不斷發(fā)展和更新,選擇Android系統(tǒng)的智能手機或者無線終端設(shè)備的人越來越多,人們對智能手機或設(shè)備的功能需求會越來越高,人們從應(yīng)用商店里下載應(yīng)用,同時對移動應(yīng)用的功能的要求也會越來越高。 安卓平臺具有開發(fā)性,開發(fā)的平臺允許任何移動終端廠商加入到安卓聯(lián)盟中來,顯著的開放性可以使其擁有更多的開發(fā)者;安卓具有開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產(chǎn)品。安卓平臺提
19、供給第三方開發(fā)商一個十分寬泛、自由的環(huán)境,不會受到各種條條框框的阻擾,可想而知,會有多少新穎別致的軟件會誕生。當(dāng)前國內(nèi)手機市場正在快速向智能手機推進,而安卓系統(tǒng)無疑是最大的市場需求。各種安卓應(yīng)用商店的不斷出現(xiàn)、發(fā)展和開發(fā)者的涌入,安卓平臺的應(yīng)用資源優(yōu)勢不斷擴大。 隨著移動設(shè)備的制造和信息技術(shù)的不斷發(fā)展,智能手機或者無線終端設(shè)備越來越普遍,各種各樣的安卓應(yīng)用的用戶也越來越多。多功能時鐘作為擁有一個簡單而實用功能的安卓移動應(yīng)用必將為人們的生活帶來許許多多的便利。顯示時間功能可以讓你隨時知道時間;鬧鐘功能可以提醒人們注意一些容易忽略的時間,可以讓人們養(yǎng)成良好的作息習(xí)慣,可以提醒、通知等;計時器功能
20、可以進行較短時間內(nèi)的提醒鞥;秒表功能可以測量做某件事情的時間等。 1.3 本文的主要工作 本文在現(xiàn)有的Android發(fā)展現(xiàn)狀基礎(chǔ)上,展示了一款基于安卓的移動應(yīng)用-多功能時鐘的構(gòu)建的邏輯思路、系統(tǒng)架構(gòu)以及各個功能的詳細實現(xiàn)與調(diào)試過程。 當(dāng)安裝后點擊進入應(yīng)用時,出現(xiàn)的是一個時鐘界面,在界面中間顯示的是當(dāng)前設(shè)備的時間,精確到秒。在界面的上方,有“時鐘”、“鬧鐘”、“計時器”、“秒表”功能。點擊“鬧鐘”,此時界面中間是空白,下方有“添加鬧鐘”功能;點擊“添加鬧鐘”,會出現(xiàn)一個時鐘界面,上方的時間是當(dāng)前的時間,精確到分;點擊“時”,通過旋轉(zhuǎn)時鐘上的指針來選擇“時”;點擊“分”,通過旋轉(zhuǎn)時鐘上的指針來
21、選擇“分”,“確定”或“取消”;添加之后,長按添加的鬧鐘后,會提示“刪除”,或取消。點擊“計時器”,會出現(xiàn)“00:00:00”,依次點擊,輸入數(shù)字進行設(shè)定,精確到秒,點擊“開始”進行倒計時,“暫?!薄ⅰ袄^續(xù)”或“重置”。點擊“秒表”,會出現(xiàn)“0:0:0:0”,點擊“開始”進行計時,“記錄”記錄時間,“暫?!?、“繼續(xù)”或“重置”。本文是對這幾個功能開發(fā)的詳細介紹。 1.4 論文的組織結(jié)構(gòu) 第1章,緒論。主要描述的是基于安卓的多功能時鐘的開發(fā)背景,安卓系統(tǒng)智能手機和平板電腦的發(fā)展現(xiàn)狀。 第2章,安卓相關(guān)介紹。介紹了安卓技術(shù)、安卓應(yīng)用程序組件、Android Studio的架構(gòu)組成和主要功能。
22、 第3章,需求分析。對多功能時鐘的功能和性能進行需求分析,為后續(xù)設(shè)計做準(zhǔn)備。 第4章,多功能時鐘的架構(gòu)設(shè)計。描述了多功能時鐘的設(shè)計目標(biāo)和原則,介紹了多功能時鐘的架構(gòu)設(shè)計和功能設(shè)計,為詳細設(shè)計提供參考。 第5章,多功能時鐘的詳細設(shè)計與實現(xiàn)。介紹了多功能時鐘的界面設(shè)計和各個功能的設(shè)計與實現(xiàn)。 第6章,多功能時鐘的實現(xiàn)與測試。介紹了多功能時鐘的架構(gòu)和模塊的實現(xiàn)、測試與調(diào)試,并對出現(xiàn)的問題進行分析說明。 第2章 安卓相關(guān)介紹 2.1 安卓系統(tǒng)介紹 2.1.1 安卓技術(shù)簡介 Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機和平板電腦,由Google公
23、司和開放手機聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。Android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。從架構(gòu)圖看,Android分為四個層,從高層到低層分別是應(yīng)用程序?qū)印?yīng)用程序框架層、系統(tǒng)運行庫層和Linux內(nèi)核層。 1、應(yīng)用程序?qū)?Android會同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語言編寫的。 2、應(yīng)用程序框架 開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計簡化了組件的重用;任何一個應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得
24、遵循框架的安全性)。同樣,該應(yīng)用程序重用機制也使用戶可以方便的替換程序組件。隱藏在每個應(yīng)用后面的是一系列的服務(wù)和系統(tǒng), 其中包括:豐富而又可擴展的視圖(Views),內(nèi)容提供器(Content Providers),資源管理器(Resource Manager),通知管理器 (Notification Manager) ,活動管理器( Activity Manager) 。應(yīng)用程序框架呢可以說是一個應(yīng)用程序的核心,是所有參與開發(fā)的程序員共同使用和遵守的約定,大家在其約定上進行必要的擴展,但程序始終保持主體結(jié)構(gòu)的一致性。其作用是讓程序保持清晰和一目了然,在滿足不同需求的同時又不互相影響。開發(fā)應(yīng)用
25、時都是通過框架來與Android底層進行交互,接觸最多的就是應(yīng)用框架層。 3、系統(tǒng)運行庫 Android 包含一些C/C++庫,這些庫能被Android系統(tǒng)中不同的組件使用。它們通過 Android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些核心庫:系統(tǒng) C 庫(一個從BSD繼承來的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫 Libc),媒體庫(基于PacketVideo OpenCORE),Surface Manager(對顯示子系統(tǒng)的管理,并且為多個應(yīng)用程序提 供了2D和3D圖層的無縫融合), LibWebCore(一個最新的web瀏覽器引擎用,支持Android瀏覽器和一個可嵌入的web視圖)4、Linux內(nèi)核層
26、 Android的核心系統(tǒng)服務(wù)基于Linux2.6內(nèi)核,如安全性、內(nèi)存管理、進程管理、網(wǎng)絡(luò)協(xié)議棧和驅(qū)動模型等都依賴于該內(nèi)核。Linux內(nèi)核同時也作為硬件和軟件棧之間的抽象層,它可隱藏具體硬件細節(jié)而為上層提供統(tǒng)一的服務(wù)。 2.1.2 安卓應(yīng)用程序組件 應(yīng)用程序組件是Android應(yīng)用程序的基本構(gòu)建單元。每個組件是系統(tǒng)進入你的應(yīng)用程序的不同入口點。不是所有的組件對于用戶都是實際上的入口點,有些是互相依賴的,但是每個組件都有特定的作用——每個都是唯一的構(gòu)建單元,這些構(gòu)建單元定義你應(yīng)用程序的全部行為。有四種不同類型的應(yīng)用程序組件。每種都有不同的用處并且有不同的生命周期。生命周期定義了他們是怎樣被創(chuàng)建
27、和銷毀的。Android開發(fā)四大組件分別是:活動(Activity):用于表現(xiàn)功能。服務(wù)(Service):后臺運行服務(wù),不提供界面呈現(xiàn)。廣播接收器(BroadcastReceiver):用于接收廣播。內(nèi)容提供商(Content Provider):支持在多個應(yīng)用中存儲和讀取數(shù)據(jù),相當(dāng)于數(shù)據(jù)庫。 1、Activitiy Android 中,Activity是所有程序的根本,所有程序的流程都運行在Activity 之中,Activity可以算是開發(fā)者遇到的最頻繁,也是Android 當(dāng)中最基本的模塊之一。一個Activity代表一個單獨的擁有用戶界面的屏幕。比如,一個郵件應(yīng)用程序可能擁有一個顯
28、示新郵件的列表的Activity,一個編寫郵件的Activity,一個讀郵件的Activity。雖然這些Activity一起工作,但是他們是相互獨立的。因此一個不同的應(yīng)用程序也可以啟動這些Activity中的任何一個(如果郵件應(yīng)用程序允許的話)。Activity 當(dāng)中可以添加一些Button、Check box 等控件??梢钥吹紸ctivity 概念和網(wǎng)頁的概念相當(dāng)類似。一個Activity是由Activity類的子類來實現(xiàn)的。 2、Service Service 是android 系統(tǒng)中的一種組件,它跟Activity 的級別差不多,但是他不能自己運行,只能后臺運行,并且可以和其他組件進行交
29、互。Service 是沒有界面的長生命周期的代碼。一個Service組件是運行在后臺的一個進程,這個進程處理一個長時間的操作或者是一個遠程調(diào)用。一個Service不需要提供一個用戶界面。比如,一個Service可以在用戶運行一個不同程序的同時在后臺播放音樂,或者在不阻塞一個Activity的用戶界面的同時獲取網(wǎng)絡(luò)數(shù)據(jù)。其他的組件,比如一個Activity,可以啟動一個Service并且與之交互。一個Service是由Service的子類來實現(xiàn)的。 3、BroadcastReceiver 在Android 中,Broadcast是一種廣泛運用的在應(yīng)用程序之間傳輸信息的機制。而Broadcast
30、Receiver 是對發(fā)送出來的Broadcast進行過濾接受并響應(yīng)的一類組件??梢允褂肂roadcastReceiver 來讓應(yīng)用對一個外部的事件做出響應(yīng)。大量的廣播都是由系統(tǒng)產(chǎn)生的。例如屏幕關(guān)閉的廣播,電量不足的廣播,拍了一張相片的廣播。應(yīng)用程序也可以發(fā)出廣播,例如讓其他應(yīng)用程序知道一些數(shù)據(jù)已從網(wǎng)上下載了,并且它們可以使用這些數(shù)據(jù)。一個Broadcastreceiver組件用于響應(yīng)整個系統(tǒng)的廣播通知。一個Broadcastreceiver是由BroadcastReceiver的子類來實現(xiàn)的,并且每個廣播都是當(dāng)作一個Intent對象來傳遞的。 4、Content Provider Cont
31、ent Provider 是Android提供的第三方應(yīng)用數(shù)據(jù)的訪問方案。一個Contentprovider管理一組共享的應(yīng)用程序數(shù)據(jù)。你可以把這些數(shù)據(jù)存儲到文件系統(tǒng)、一SQLite數(shù)據(jù)庫、互聯(lián)網(wǎng)或者任何你的應(yīng)用程序可以訪問的持久化存儲設(shè)備中。通過Contentprovider其他的應(yīng)用程序能夠查詢甚至修改(如果Contentprovider允許修改操作)這些數(shù)據(jù)。例如Android系統(tǒng)提供了管理聯(lián)系人信息的Contentprovider。因此,任何一個應(yīng)用程序在擁有相應(yīng)權(quán)限的情況下都可以訪問這個Contentprovider管理的數(shù)據(jù)(比如ContactsContract.Data)來讀取或
32、者修改某個聯(lián)系人的信息。Contentprovider用于管理應(yīng)用程序不與其他程序共享的的私有數(shù)據(jù)也是非常有用的。一個ContentProvider是由ContentProvider的子類來實現(xiàn)的,并且必須實現(xiàn)一組使其他應(yīng)用程序能與之通信的API。 2.2 Android Studio簡介 2.2.1架構(gòu)組成 在IDEA的基礎(chǔ)上,Android Studio 提供:基于Gradle的構(gòu)建支持;Android 專屬的重構(gòu)和快速修復(fù);提示工具以捕獲性能、可用性、版本兼容性等問題;支持ProGuard和應(yīng)用簽名;基于模板的向?qū)砩沙S玫?Android 應(yīng)用設(shè)計和組件;功能強大的布局編輯器,可以
33、讓你拖拉UI控件并進行效果預(yù)覽。 2.2.2主要功能 x年5月16日,在I/O大會上,谷歌推出新的Android開發(fā)環(huán)境——Android Studio,并對開發(fā)者控制臺進行了改進,增加了五個新的功能。 Android Studio是谷歌推出了新的Android開發(fā)環(huán)境,開發(fā)者可以在編寫程序的同時看到自己的應(yīng)用在不同尺寸屏幕中的樣子。 谷歌對開發(fā)者控制臺進行了改進,增加了五個新的功能,包括優(yōu)化小貼士、應(yīng)用翻譯服務(wù)、推薦跟蹤、營收曲線圖、用版測試和階段性展示。 1、優(yōu)化小貼士:在主體中打開你的應(yīng)用,點擊小貼士,會得到這樣的建議:為你的應(yīng)用開發(fā)平板電腦版本。 2、應(yīng)用翻譯服務(wù):允許開發(fā)者
34、直接在開發(fā)主體中獲得專業(yè)的翻譯。上傳你的需求,選擇翻譯,其會顯示翻譯方和價格,并在一周內(nèi)發(fā)回譯本。 3、推薦跟蹤:允許開發(fā)者找出最有效的廣告。 4、營收曲線圖:向開發(fā)者展示其應(yīng)用營收,以國家進行劃分。 5、試用版測試和階段性展示:開發(fā)者可以對應(yīng)用進行測試,然后向測試用戶推出,測試結(jié)果不會對外公布。當(dāng)一個版本的測試結(jié)束,開發(fā)者可以向特定比例用戶推出。 Android Studio這款開發(fā)工具被首次公布,這也是為了方便開發(fā)者基于Android開發(fā)。 首先解決的一個問題是多分辨率。Android設(shè)備擁有大量不同尺寸的屏幕和分辨率,根據(jù)新的Studio,開發(fā)者可以很方便的調(diào)整在各個分辨率設(shè)備
35、上的應(yīng)用。 同時Studio還解決語言問題,多語言版本(但是沒有中文版本)、支持翻譯都讓開發(fā)者更適應(yīng)全球開發(fā)環(huán)境。Studio還提供收入記錄功能。 最大的改變在于Beta測試的功能。Studio提供了Beta Testing,可以讓開發(fā)者很方便試運行。 x年5月29日,在谷歌I/O開發(fā)者大會上,谷歌發(fā)布AndroidStudio 1.3版,支持C++編輯和查錯功能。Android Studio 1.3版開發(fā)碼代碼變得更加容易,速度提升,而且支持C++編輯和查錯功能。 第3章 需求分析 3.1 多功能時鐘的功能需求 對于應(yīng)用的設(shè)計目標(biāo),首要原則是
36、以用戶為本,宗旨是滿足用戶的需求。從用戶的需求出發(fā),多功能時鐘這款基于安卓的移動應(yīng)用應(yīng)當(dāng)包含日常生活中時鐘的最基本的功能,能夠顯示當(dāng)前時間,能夠添加和刪除鬧鐘,能夠進行倒計時和能夠進行秒表計時等。 多功能時鐘的設(shè)計需要根據(jù)系統(tǒng)功能的不同對應(yīng)用進行模塊劃分,不同的功能獨立出來形成一個模塊,這樣能夠使我們更好的根據(jù)不同的模塊不同特點有針對性地進行代碼編寫。根據(jù)應(yīng)用的總體描述,這款應(yīng)用的功能需求大致分為以下四部分。 1、 查看時間的功能需求 查看時間對于每個時鐘應(yīng)用來說是一個最基本的功能,在設(shè)計多功能時鐘的時候,為了方便用戶查看時間,設(shè)計以數(shù)字來顯示時間,簡單明了。 2、添加和刪除鬧鐘的功能需
37、求 多功能時鐘設(shè)置鬧鐘時要制作一個“添加鬧鐘”的按鈕,點擊“添加鬧鐘”,會出現(xiàn)一個界面。界面下方是一個時鐘,界面上方顯示的是當(dāng)前的時間。點擊上方時間的“時”,下方時鐘的指針是跳轉(zhuǎn)到時的范圍里,有兩圈,一圈12小時;通過旋轉(zhuǎn)時鐘上的指針來選擇“時”。點擊上方時間的“分”,下方時鐘的指針是跳轉(zhuǎn)到分的范圍里,有一圈,一圈60分鐘;通過旋轉(zhuǎn)時鐘上的指針來選擇“分”。在此界面還應(yīng)有“確定”和“取消”兩個按鈕。此外還應(yīng)有刪除鬧鐘的功能,因此可以這樣設(shè)計:添加鬧鐘之后,長按添加的鬧鐘,會彈出一個提示,提示“刪除”或者“取消”。 3、 計時器的功能需求 倒計時被人們廣泛用于事件提醒。當(dāng)你有事情需要在特定的時
38、間完成或者到某個時間點要完成某件事情的時候。計時器功能可以提醒你按時完成所需要完成的工作。界面上方顯示為“00:00:00”,可以輸入數(shù)字進行設(shè)定,應(yīng)可以精確到秒,界面下方應(yīng)有一個“開始”按鈕,點擊“開始”進行倒計時,之后應(yīng)有“暫?!薄爸刂谩卑粹o,點擊“暫?!焙螅皶和!卑粹o應(yīng)變?yōu)椤袄^續(xù)”按鈕,計時器應(yīng)可以進行倒計時。 4、秒表的功能需求 秒表具有測量時間的功能,秒表的功能需求來源于需要精確計時的人群,人們可以用秒表測試自己的跑步速度,可以用秒表計算完成一項任務(wù)所需要的精確時間,可以用秒表測試自己呼吸頻率、脈搏等等。界面上方顯示為“0:0:0:0”,應(yīng)可以精確到毫秒,界面下方應(yīng)有一個“開始”
39、按鈕,點擊“開始”進行計時,之后應(yīng)有“暫?!焙汀坝涗洝卑粹o,“記錄”可以記錄時間,點擊“暫?!焙?,兩個按鈕應(yīng)分別變?yōu)椤袄^續(xù)”和“重置”按鈕。 3.2 多功能時鐘的性能需求 手機應(yīng)用要有好的發(fā)展空間,就需要能給用戶提供良好的體驗,而良好的用戶體驗是基于應(yīng)用的性能的,一般從界面、操作、提示和響應(yīng)速度等來評價應(yīng)用的性能的。 對于界面來說,不同的應(yīng)用有著不同的要求。對于移動應(yīng)用,需要在30秒到1分鐘的時間內(nèi)吸引用戶。應(yīng)用應(yīng)當(dāng)設(shè)計成,一看到應(yīng)用就愿意使用,但這并不意味著需要復(fù)雜的界面,有可能只需要可以給用戶提供細節(jié)內(nèi)容就行了。對于多功能時鐘的界面,應(yīng)該是簡單、突出主題。操作應(yīng)該是簡單,容易學(xué)會和上
40、手。提示應(yīng)該是簡單明了,讓用戶一看就懂。對于多功能時鐘,響應(yīng)速度肯定是快速。 第4章 多功能時鐘的架構(gòu)設(shè)計 4.1多功能時鐘設(shè)計目標(biāo)和原則 1、 實現(xiàn)時鐘的基本功能,可以顯示當(dāng)前時間。 2、 多功能性,實現(xiàn)鬧鐘、計時器、秒表功能。 3、 易用性,界面良好,操作簡單,容易上手。 4、 可靠性,響應(yīng)速度快,有一定的容錯能力。 4.2多功能時鐘的架構(gòu)設(shè)計 不論是ios還是android的應(yīng)用開發(fā),其實都遵循著一定的開發(fā)流程,只有如此才能使開發(fā)過程有章可循而不是一團亂。架構(gòu)設(shè)計需要對應(yīng)用的設(shè)計進行考慮,包括應(yīng)用系統(tǒng)的基本處理流程、應(yīng)用系統(tǒng)的組織結(jié)構(gòu)、模塊劃分、功能分配、運行設(shè)計和出錯處理設(shè)計
41、等,為應(yīng)用的詳細設(shè)計提供基礎(chǔ)。對于多功能時鐘來說,首先要基于需求分析來制定開發(fā)流程,然后搭建應(yīng)用的主框架,由于顯示時間是最基礎(chǔ)的功能,所以先實現(xiàn)顯示時間功能,然后實現(xiàn)鬧鐘、計時器、秒表功能。由于應(yīng)用是以時鐘為最終應(yīng)用的,所以應(yīng)用初始界面設(shè)計為時鐘的顯示時間界面。主界面顯示多功能時鐘的所用功能,用戶根據(jù)需求可以自主選擇功能。圖4-1 多功能時鐘架構(gòu)圖。圖4-2 多功能時鐘開發(fā)流程,從上到下,從左到右依次進行。 圖4-1 多功能時鐘架構(gòu)圖 圖4-2 多功能時鐘開發(fā)流程 4.3多功能時鐘的功能設(shè)計 因為多功能時鐘的各個功能之間是單獨運行的,所以多功能時鐘的每個功能
42、都需要單獨進行設(shè)計。已經(jīng)確定架構(gòu)設(shè)計后,對各個功能進行詳細的設(shè)計。 1、 時鐘 對于時鐘沒有什么太大的要求,只要能顯示當(dāng)前時間就行了。當(dāng)點擊多功能時鐘APP的快捷方式進入應(yīng)用后,當(dāng)前顯示的應(yīng)是時鐘界面,時鐘界面顯示的是當(dāng)前的時間。圖4-3 時鐘功能結(jié)構(gòu)模型。 圖4-3 時鐘功能結(jié)構(gòu)模型 2、 鬧鐘 點擊界面上方的“鬧鐘”按鈕后,進入鬧鐘界面,當(dāng)前鬧鐘界面是不存在鬧鐘的,在界面下方設(shè)置一個“添加鬧鐘”按鈕,可以進行添加鬧鐘,點擊后會出現(xiàn)一個稍微小一點的界面。界面下方設(shè)置為一個時鐘,界面上方設(shè)計為鬧鐘顯示的是當(dāng)前的時間。設(shè)計為點擊上方時間的“時”,下方時鐘的指針設(shè)計為跳轉(zhuǎn)到時的界面里(默認
43、當(dāng)前是在“時”的界面里);設(shè)計時鐘有兩圈,外圈為1-12,內(nèi)圈為13-00;設(shè)計為通過旋轉(zhuǎn)時鐘上的指針來選擇“時”。設(shè)計為點擊上方時間的“分”,下方時鐘的指針是跳轉(zhuǎn)到分的界面里;設(shè)計時鐘為一圈,一圈60分鐘;設(shè)計為通過旋轉(zhuǎn)時鐘上的指針來選擇“分”。在此界面還應(yīng)有“確定”和“取消”兩個按鈕。此外還應(yīng)有刪除鬧鐘的功能,因此可以這樣設(shè)計:添加鬧鐘之后,長按添加的鬧鐘,會彈出一個提示,操作提示“刪除”或者“取消”。圖4-4 鬧鐘功能結(jié)構(gòu)模型。 圖4-4 鬧鐘功能結(jié)構(gòu)模型 3、計時器 界面上方設(shè)計顯示為“00:00:00”,可以輸入數(shù)字進行設(shè)定,應(yīng)可以精確到秒。界面下方設(shè)計一個“開始”按鈕,點擊“
44、開始”進行倒計時。之后應(yīng)設(shè)計“暫停”“重置”按鈕,設(shè)計為點擊“暫停”后,“暫停”按鈕變?yōu)椤袄^續(xù)”按鈕。計時器應(yīng)可以進行倒計時,可以在后臺計時,時間到了,會彈出一個提示。圖4-5 計時器功能結(jié)構(gòu)模型 圖4-5 計時器功能結(jié)構(gòu)模型 4、秒表 界面上方設(shè)計顯示為“0:0:0:0”,應(yīng)可以精確到毫秒。界面下方設(shè)計有一個“開始”按鈕,點擊“開始”進行計時,之后應(yīng)有“暫停”和“記錄”按鈕。設(shè)計“記錄”按鈕可以記錄時間,點擊“暫?!焙?,兩個按鈕應(yīng)分別變?yōu)椤袄^續(xù)”和“重置”按鈕。圖4-6 秒表功能結(jié)構(gòu)模型 圖4-6 秒表功能結(jié)構(gòu)模型 第5章 多功能時鐘的詳細設(shè)計與實現(xiàn) 5.1 界面設(shè)計 主界面是進入
45、應(yīng)用時的界面,界面比較簡單。圖5-1 主界面布局,圖5-2 安裝界面。 圖5-1 主界面布局 圖5-2 安裝界面 搭建應(yīng)用主框架,依次呈現(xiàn)時間、鬧鐘、計時器、秒表。代碼如表5-1所示。 表5-1 搭建應(yīng)用主框架 android:id=“@+id/tabTime“ android:layout_width=“match_parent“ android:layout_height=“match_parent“ android:orientation=“vertical“ android:id=“@+id/tabAlarm“ android:layout_width=“match_pa
46、rent“ android:layout_height=“match_parent“ android:orientation=“vertical“ android:id=“@+id/tabTimer“ android:layout_width=“match_parent“ android:layout_height=“match_parent“ android:orientation=“vertical“ android:id=“@+id/tabStopWatch“ android:layout_width=“match_parent“ android:layout_height=“m
47、atch_parent“ android:orientation=“vertical“ 定義一個tabHost變量;初始化;給各個模塊命名并且聲明tab的內(nèi)容。代碼如表5-2所示。 表5-2 給各個模塊命名 tabHost = (TabHost) findViewById(android.R.id.tabhost); tabHost.setup; tabHost.addTab(tabHost.newTabSpec(“tabTime“).setIndicator(“時鐘“).setContent(R.id.tabTime)); tabHost.addTab(tabHost.newTabSpe
48、c(“tabAlarm“).setIndicator(“鬧鐘“).setContent(R.id.tabAlarm)); tabHost.addTab(tabHost.newTabSpec(“tabTimer“).setIndicator(“計時器“).setContent(R.id.tabTimer)); tabHost.addTab(tabHost.newTabSpec(“tabStopWatch“).setIndicator(“秒表“).setContent(R.id.tabStopWatch)); 5.2 多功能時鐘的功能設(shè)計 5.2.1顯示時間功能 多功能時鐘的顯示時間功能如圖5-
49、3所示。 圖5-3 顯示時間功能 新建一個類TimeView,添加構(gòu)造方法來被代碼調(diào)用,被初始化器調(diào)用和在初始化的時候指定它的style。代碼如表5-3所示。 表5-3 添加構(gòu)造方法 public TimeView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle);} public TimeView(Context context, AttributeSet attrs) { super(context, attrs);} public TimeV
50、iew(Context context) { super(context);} 換成自己定義的類,在內(nèi)部寫一個TextView,指定它的id和textAppearance。代碼如表5-4所示。 表5-4 定義文本展現(xiàn)方式 TextView android:id=“@+id/tvTime“ android:layout_width=“fill_parent“ android:layout_height=“fill_parent“ android:gravity=“center“ android:textAp
51、pearance=“?android:attr/textAppearanceLarge“ / /com.example.administrator.myapplication.TimeView 在類里添加一個事件,在初始化后執(zhí)行TextView操作,呈現(xiàn)文字在中間。代碼如表5-5所示。 表5-5 呈現(xiàn)文字 protected void onFinishInflate { super.onFinishInflate; tvTime = (TextView) findViewById(R.id.tvTime); tvTime.setText(“Hello“); } pro
52、tected void onVisibilityChanged(View changedView, int visibility) { super.onVisibilityChanged(changedView, visibility); if (visibility==View.VISIBLE) { timerHandler.sendEmptyMessage(0); }else{ timerHandler.removeMessages(0); private TextView tvTime; 重新刷新時間,通過sendEmptyMess
53、age每秒刷新一次。代碼如表5-6所示。 表5-6 設(shè)置刷新時間間隔 timerHandler.sendEmptyMessage(0); private void refreshTime{ Calendar c = Calendar.getInstance; tvTime.setText(String.format(“%d:%d:%d“, c.get(Calendar.HOUR_OF_DAY),c.get(Calendar.MINUTE),c.get(Calendar.SECOND))); } 如果可見就呈現(xiàn)出來,否則把所有的消息移除掉。代碼如表5-7所示。 表5-7
54、設(shè)置文本可見與不可見處理方式 protected void onFinishInflate { super.onFinishInflate; tvTime = (TextView) findViewById(R.id.tvTime); tvTime.setText(“Hello“); timerHandler.sendEmptyMessage(0); } protected void onVisibilityChanged(View changedView, int visibility) { super.onVisibilityChanged(chan
55、gedView, visibility); if (visibility==View.VISIBLE) { timerHandler.sendEmptyMessage(0); }else{ timerHandler.removeMessages(0); } } 呈現(xiàn)的為時間。代碼如表5-8所示。 表5-8 設(shè)置呈現(xiàn)的為時間 Calendar c = Calendar.getInstance; tvTime.setText(String.format(“%d:%d:%d“, c.get(Calendar.HOUR_OF_DAY),c.ge
56、t(Calendar.MINUTE),c.get(Calendar.SECOND))); 5.2.2鬧鐘功能 鬧鐘功能的添加鬧鐘界面如圖5-4 和5-5所示。添加鬧鐘后如圖5-6,鬧鐘的刪除界面如圖5-7所示,鬧鐘音樂播放如圖5-8所示。 圖5-4 鬧鐘設(shè)置界面(時)圖5-5 鬧鐘設(shè)置界面(分) 圖5-6 添加鬧鐘后 圖5-7 鬧鐘的刪除界面 圖5-8 鬧鐘播放音樂 新建一個類,添加構(gòu)造方法。代碼如表5-9所示。 表5-9 添加構(gòu)造方法 public AlarmView(Context context, AttributeSet attrs, int defStyle)
57、 { super(context, attrs, defStyle); public AlarmView(Context context, AttributeSet attrs) { super(context, attrs); init; } public AlarmView(Context context) { super(context); init; 換成自己定義的類,在內(nèi)部寫一個ListView,可以呈現(xiàn)添加的按鈕,添加文字為Add Alarm,提取到字符串中,指定id。代碼如表5-10所示。 表5-10 呈現(xiàn)文字 ListView
58、 android:id=“@+id/lvAlarmList“ android:layout_width=“fill_parent“ android:layout_height=“0dp“ android:layout_weight=“1“ /ListView Button android:id=“@+id/btnAddAlarm“ android:layout_width=“fill_parent“ android:layout_height=“wrap_content“
59、 android:text=“@string/add_alarm“ / /com.example.administrator.myapplication.AlarmView 把兩個變量加到類中,通過findViewById找到。給按鈕添加一個事件。代碼如表5-11所示。 表5-11 添加事件 protected void onFinishInflate { super.onFinishInflate; btnAddAlarm = (Button) findViewById(R.id.btnAddAlarm); lvAlarmList = (ListVie
60、w) findViewById(R.id.lvAlarmList); adapter = new ArrayAdapterAlarmView.AlarmData(getContext, android.R.layout.simple_list_item_1); lvAlarmList.setAdapter(adapter); readSavedAlarmList; btnAddAlarm.setOnClickListener(new View.OnClickListener { public void onClick(View v) {
61、 addAlarm; } }); private Button btnAddAlarm; private ListView lvAlarmList; 定義鬧鐘響起的時間,在外界獲取時間。指明一個data變量,來創(chuàng)建時間,實現(xiàn)鬧鐘列表。代碼如表5-12所示。 表5-12 實現(xiàn)鬧鐘列表 private static class AlarmData{ public AlarmData(long time) { this.time = time; date = Calendar.getInstance; d
62、ate.setTimeInMillis(time); timeLabel = String.format(“%d月%d日 %d:%d“, date.get(Calendar.MONTH)+1, date.get(Calendar.DAY_OF_MONTH), date.get(Calendar.HOUR_OF_DAY), date.get(Calendar.MINUTE)); } 設(shè)置鬧鐘的時間,設(shè)置鬧鐘時間判斷,如果設(shè)置時間小于等于當(dāng)前時間
63、,直接加一天。鬧鐘可以顯示月,日,時,分。代碼如表5-13所示。 表5-13 設(shè)置鬧鐘時間及判斷 Calendar calendar = Calendar.getInstance; calendar.set(Calendar.HOUR_OF_DAY, hourOfDay); calendar.set(Calendar.MINUTE, minute); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0);
64、 Calendar currentTime = Calendar.getInstance; if (calendar.getTimeInMillis=currentTime.getTimeInMillis) { calendar.setTimeInMillis(calendar.getTimeInMillis+24*60*60*1000); } AlarmData ad = new AlarmData(calendar.getTimeInMillis);
65、 adapter.add(ad); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, ad.getTime, 5*60*1000, PendingIntent.getBroadcast(getContext, ad.getId, new Intent(getContext, AlarmReceiver.class), 0)); saveAlarmList; 實現(xiàn)鬧鐘列表的
66、存儲,能夠存儲數(shù)據(jù)。代碼如表5-14所示。 表5-14 存儲鬧鐘列表 StringBuffer sb = new StringBuffer; for (int i = 0; i adapter.getCount; i++) { sb.append(adapter.getItem(i).getTime).append(“,“); } if (sb.length1) { String content = sb.toString.substring(0, sb.length-1); editor.putString(KEY_ALARM_LIST, content); System.out.println(content); }else{ editor.putString(KEY_ALARM_LIST, null); } 實現(xiàn)鬧鐘列表的讀取,能夠讀取存儲的數(shù)據(jù)。代碼如表5-15所示。 表5-15 讀取鬧鐘列表 private voi
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《產(chǎn)品價值鏈與營銷戰(zhàn)略》
- lecture 9(精品)
- Where’s your pen pal from (2)
- (精品)實驗二血清γ球蛋白的分離純化與鑒定by陳蔚文
- 企業(yè)專利風(fēng)險管理
- 高中記敘文寫作指導(dǎo):寫人要凸顯個性ppt課件
- 新生兒溶血病的發(fā)病機理臨床癥狀課件
- 7、艱辛的求索 (2)
- 學(xué)校心理健康教育組織管理課件
- IE七大手法的發(fā)展歷程
- 頸托的正確使用課件
- (精品)電功與電功率復(fù)習(xí)1
- 李曉光-管理學(xué)原理第十三章領(lǐng)導(dǎo)工作概述
- 固體中的相結(jié)構(gòu)
- 智能化酒店系統(tǒng)PPT