




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGEPAGE11基于安卓Android學習生活軟件的設計摘要近幾年由于移動終端的飛速發(fā)展,移動客戶端的應用軟件出現(xiàn)了很多,學生對手機依賴感越來越強。據相關《大學生手機依賴與時間管理傾向、學業(yè)拖延、主觀幸福感的關系》研究發(fā)現(xiàn),時間管理傾向與手機依賴呈負相關,即手機依賴水平越高,那么時間管理傾向就越低。而手機依賴水平越高,學業(yè)拖延就越來越嚴重,手機依賴與學業(yè)拖延之間呈正相關關系REF_Ref9392\w\h[1]。因此,越來越需要減少學生和各種群體對移動電話的依賴并增強時間觀念。隨著科學技術高速發(fā)展,手機普及率越來越高,幾乎每個大學生甚至小學生都擁有至少一臺智能手機,移動端應用發(fā)展也風起云涌,各式各樣的應用程序上市以滿足不同人群的需求,給人們帶來方便的同時也讓越來越多的人沉迷于手機,花費越來越多的時間在各種社交平臺和應用軟件上,嚴重影響了學習和工作的效率,從而導致拖延癥的發(fā)生。日程小助手App的開發(fā)與設計正是在此前景下產生的構想,目的是為了幫助人們有效管理時間、安排一天行程,提高時間利用率,減少對手機的依賴,避免拖延癥,確保正常學習生活工作的開展。本系統(tǒng)是一個基于安卓手機平臺的日程助手系統(tǒng),具有基本的日程活動的增、刪、改、查功能,在日歷瀏覽的界面中可突出顯示有安排的日期。用戶可根據不同的活動設置任務,便于對日程的管理。關鍵詞:日程管理;Java;安卓目錄TOC\o"1-3"\h\u246491緒論 1141911.1研究背景 1147151.2目的和意義 1247181.3國內外研究現(xiàn)狀 2226851.4開發(fā)環(huán)境簡介 325091.5系統(tǒng)開發(fā)軟件簡介 4180701.5.1安卓平臺的簡介 425221.5.2Eclipse的簡介 5212801.5.3其他軟件的簡介 5323281.6安卓環(huán)境的搭建 6264541.6.1軟件下載準備 6118541.6.2JDK安裝 6199502需求分析 7247362.1系統(tǒng)的需求分析 797982.2需求分析 794282.3系統(tǒng)的功能模塊結構圖 783433總體設計 10218153.1數據存儲設計 10217793.2主界面顯示Activity 10317383.3日程界面 11216983.4日歷的顯示 12243543.6時間分析的實現(xiàn) 14190194設計思想與實現(xiàn) 15206425系統(tǒng)測試與運行 16292065.1系統(tǒng)運行環(huán)境 1632005.2軟件測試 16113656結束語 1831995參考文獻 19PAGEPAGE111緒論1.1研究背景近年,隨著智能移動設備的普及率和移動設備硬件質量的明顯提高,各個移動設備的功能愈加完善,同時對移動式產品的系統(tǒng)平臺的關注也在逐步增加。目前,我國最常見的移動開發(fā)平臺包括iPhone,Symbian,Windows
Phone以及現(xiàn)在已經攻占大部分市場份額的Android。目前為止,國內已經有了大量移動設備基于Android系統(tǒng)的用戶。據了解,截止2020年第二季度Android系統(tǒng)的國內智能手機市場占有率就已經超過了60%,而在北美以及西歐的市場占有率也到達了40%,可見Android系統(tǒng)正處于飛速發(fā)展、高速崛起之中?,F(xiàn)如今對Android體系的利用和開辟在海內依然屬于火熱階段,加大了相關技術和人員的投入。
Android系統(tǒng)是基于Linux內核的軟件平臺和操作系統(tǒng),是在2007年11月5日由Google公布的手機系統(tǒng)平臺,早期是由Google開發(fā),后為Open
Handset
Alliance開發(fā)。它主要分為三部分,采用軟件堆層(Software
stack,又名軟件疊層)的架構。其中底層以Linux核心工作為基礎,只提供基本功能;其他的應用軟件則由各公司自行開發(fā),以Java作為編寫程式的一部分。Android系統(tǒng)作為當前最炙手可熱的移動應用操作系統(tǒng)之一,在2012年就已經占據了歐美市場超過50%的市場份額。而在中國,智能手機市場上基于Android系統(tǒng)的智能終端也在不斷地增加。截止2020年,安卓手機市場占比來看,華為穩(wěn)居第一,市場占比達19.66%,由此可見,Android系統(tǒng)越來越受重視,已經與人們的生活密切相關。1.2目的和意義智能手機的APP應用軟件在短期內迅速發(fā)展,立足于競爭激烈的系統(tǒng)平臺領域,主要原因是它的多元化發(fā)展很好的滿足了現(xiàn)代社會發(fā)展的節(jié)奏和人們日常生活的基本需求。手機應用軟件已經不僅僅只滿足用戶單一功能的需求,而且還滲透到了生活、學習和工作的全方位,已經成為了當今社會不可或缺的工具。無論是上班時間還是休息時間,街道上或是地鐵中,隨處可見的是在操作手機的人??梢哉f,手機應用軟件很大程度的推動了手機的使用率,使手機成為我們無法缺少的物品。盡管數據顯示,截止到2020年第四季度,中國手機網民規(guī)模已經達到了9.86億人,使用智能手機的比率為99.7%,雖然使用智能手機已達到飽和階段,而中國手機網民規(guī)模和智能手機用戶規(guī)模整體上仍然繼續(xù)呈現(xiàn)增長趨勢。但無法忽略的事實是,增長率卻是呈明顯下降趨勢的REF_Ref2807\w\h[2]。這說明中國智能手機的普及率已經基本達到頂端,使用智能手機已達到飽和階段,雖然持有量還在不斷增加,但是最終會逐漸趨于穩(wěn)定。同時也說明了,在相對穩(wěn)定的市場里,隨著不斷加入的移動手機應用的增多,手機APP的競爭會愈加激烈,同類型產品的數量也會不斷增加。這會使同類型的手機移動應用同質化加重,部分功能越來越一致,同時也會給應用軟件的創(chuàng)新帶來很大的困難,但也反方向的催生了很多垂直化和細分化的同類型軟件。比如,移動APP會逐漸改變過去一次性滿足用戶所有功能需求的習慣,逐漸向更細分功能,更注重客戶體驗,注重人機交互的方向進行改變。而這個時間管理應用程序,專門針對用戶的時間分配和實際日程所用時間的情況進行記錄和管理。我們一般所說的時間管理,是指在時間分配上的自我管理,是否合理分配了時間,是否在分配的時間內完成了應該完成的工作。一方面,更清晰地認識到時間的特征,在進行時間管理時逐漸發(fā)現(xiàn)其中的規(guī)律;另一方面,我們必須學會在連續(xù)的時間管理實踐中找到科學合理的方式來安排時間的使用,提高我們的時間控制能力,真正地控制時間而不是受時間控制。一般來說,人們傾向于先完成相對簡單的工作,而難度較大或花費時間較長的任務則會選擇逃避和拖延,對自己的待做工作沒有準確的概念。精準詳細的時間規(guī)劃有利于提高工作學習以及生活的效率,有效減少拖延帶來的效率低下等相關影響。這個應用程序只需要提前進行每日時間安排,并花費幾分鐘根據實際情況對使用時間進行記錄,通過圖表形式使用戶對自己的的時間管理有更清晰地認識。1.3國內外研究現(xiàn)狀聞名世界的Google公司開發(fā)了安卓系統(tǒng)(Android),這是主要在移動設備上使用的操作系統(tǒng)。2008年10月,谷歌發(fā)布了首部裝載有安卓系統(tǒng)的智能手機AndroidSDK1.0,在之后的不到十年的時間里,基于Android平臺的手機已經占領了全球手機市場份額的80%以上。于此同時基于Android系統(tǒng)的應用也在逐漸擴展,現(xiàn)在已廣泛存在于電視、相機、平板電腦等其他領域當中。近幾年來,基于Android系統(tǒng)平臺的移動設備越來越普及。安卓手機、安卓電視、安卓平板電腦等Android系統(tǒng)產品,憑借其高度的開放性、出色的兼容性和豐富的應用、可開發(fā)性等特點在全球市場得到了廣泛認可。根據一家市場研究公司在2012年在美國發(fā)布的報告顯示,在當年銷售基于Android系統(tǒng)的智能手機就已經占領了全美國的移動電話銷售的28%份額,基于蘋果的智能手機占市場份額21%。目前來看,全球移動設備市場中,微軟公司的Windows系統(tǒng)、蘋果公司的IOS系統(tǒng)和谷歌公司的Android系統(tǒng)呈現(xiàn)三足鼎立之勢REF_Ref2807\w\h[2]。但根據業(yè)內人士分析,隨著安卓系統(tǒng)的不斷的發(fā)展和推出相應的應用軟件,選擇Android手機或者無線終端設備的人會越來越多,Android系統(tǒng)的市場霸主地位將很難撼動。對于Android系統(tǒng)來說,其最大的特點就是開放的源碼。這個特點很大程度地改變了過去某些軟件制造商壟斷地位的系統(tǒng)平臺,很多開放的內容開發(fā)商和軟件供應商可以分享共同的利益,并大大提高了用戶的體驗。近期,國內智能手機市場的競爭形勢已經開始趨于明朗,各個手機廠商開始將注意力轉向中低端手機市場。Android系統(tǒng)也開始在手機操作系統(tǒng)曠日持久的競爭中占領上風。根據艾媒咨詢發(fā)布的《2020年中國安卓智能手機用戶調查.研究報告》數據顯示,2020年中國安卓智能手機的用戶使用品牌的調查中,國內品牌華為、vivo、oppo的市占率排名前三。隨著近年來營業(yè)商對4G業(yè)務的大力推廣以及5G規(guī)模的迅速擴張,Android系統(tǒng)無疑將會成為最大的市場需求,尤其是在當今全球移動手機銷售量最大的中國。大型、中型還有小型的手機制造商在過去的幾年里都在不停的招攬Android工程師,來開發(fā)基于Android的智能手機及應用軟件?;贏ndroid系統(tǒng)的應用軟件的開發(fā)也不是孤立存在的,它要求開發(fā)者了解Android的三層框架,也必須要融合Java層框架內的通信機制、核心服務框架的關鍵機制、Java和C/C++整合開發(fā)的技術、HAL驅動框架及其API和云服務(CloudService)框架及其API等技術。時間管理類app的實現(xiàn)方法有很多,湖北師范大學的楊哲文等人表示為了解決對時間管理有困難的人的問題,代表方法有兩種.一種是按照要處理事情的輕重緩急為標準來安排所有的工作,可以稱為“應對法”。另外一種是通過記錄每天處理所有事物所花費的時間,從而來分配自己的時間的方法,叫做“調控法”。這兩種方法都有一個共同的缺點,就是忽略了主體,人的作用。所以他們提出了“時間微積分”的思想,是為了達到特定的目標根據每天的時間而對自己行動做出某種規(guī)劃。而StePhenR.Covey的研究表明,時間管理方法從基于手表和時鐘的提醒工具的時代開始,歷經了基于日歷和筆記的計劃工具時代和基于優(yōu)先權的控制工具與計劃時代,一直到現(xiàn)在,進入了強調效率和能動性的時代,把角色和目標融入時間管理的第四代。GTD方法成為了現(xiàn)在時間管理的主流理論。GTD方法由DavidAllen提出,主要分為五個步驟,核心步驟為組織?,F(xiàn)在全世界進行Android開發(fā)主要有兩個開發(fā)環(huán)境:Eclipse和AndroidStudio。其中由谷歌公司新發(fā)布的AndroidStudio是基于IntelliJIDEA開發(fā)而成的REF_Ref6608\w\h[5]。使用AndroidStudio進行開發(fā)時,開發(fā)者可以方便快捷地進行Android應用地調試,而除了AndroidStudio是Android開發(fā)的IDE集成環(huán)境以外,還具有是基于Gradle構建支持、包含重構和快速修復等Android專屬功能、可以提供捕獲性能、版本兼容性和可用性的工具、功能強大的布局編輯器和支持應用簽名等特點。1.4開發(fā)環(huán)境簡介Android軟件開發(fā)的基礎語言是Java,開發(fā)工具是AndroidStudio,為當前大家都普遍使用的安卓開發(fā)工具,也是官方發(fā)布的安卓開發(fā)工具。Android的上層應用程序是用Java語言開發(fā),同時還需要基于Dalvik虛擬機。因此,Google公司推薦使用主流的Java繼承開發(fā)環(huán)境Eclipse。如果只有Eclipse還不夠,因為是使用Java語言進行開發(fā),還應該有由SUN公司提供的JavaSDK(其中包括JRE:JavaRuntimeEnvironment)。此外,Android的應用程序開發(fā)和Java開發(fā)之間存在很大的差異,所以還需要有Google提供的AndroidSDK。同時,還需要在Eclipse安裝ADT,以提供用于Android開發(fā)的開發(fā)工具的升級或者變更,它是Eclipse下開發(fā)工具的升級下載的工具。簡而言之,需要以下軟件,才能搭建Android開發(fā)環(huán)境,從而進行Android應用程序的開發(fā)。(1)Eclipse(2)JDK(3)AndroidSDK(4)ADT(AndroidDevelopmentTools)1.5系統(tǒng)開發(fā)軟件簡介1.5.1安卓平臺的簡介安卓是一種基于Linux內核(不包含GNU組件)的自由及開放源代碼的操作系統(tǒng)。主要使用于移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯(lián)盟領導及開發(fā)。Android操作系統(tǒng)最初由AndyRubin開發(fā),主要支持手機。Android一詞的本義指“機器人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應用軟件組成。安卓平臺特色介紹:開放性:就優(yōu)勢而言,Android平臺首先就是其開放性。開發(fā)的平臺對任何移動終端廠商都抱有開放的態(tài)度讓移動終端廠商加入到Android聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)人員,伴隨著用戶和應用的日益豐富,一個嶄新的平臺也逐步走向成熟。開放性對于Android的發(fā)展而言,有利于積累人氣,這里的人氣包括消費者和制造商,而對于消費者來講,最大的受益正是豐富的軟件資源。開放的平臺也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。同時也可以通過一些第三方優(yōu)化過的系統(tǒng)通過刷機來實現(xiàn)更好的用戶體驗,如MIUI,F(xiàn)lyme等。豐富的硬件:這一特性還是與Android平臺的開放性相關,鑒于Android的開放性,眾多的廠商會推出具有不同功能的各種產品。功能上的差異和特色,卻不會影響到數據同步、甚至軟件的兼容,如同從諾基亞Symbian風格手機一下改用蘋果iPhone,同時還可將Symbian中優(yōu)秀的軟件帶到iPhone上使用、聯(lián)系人等資料更是可以方便地轉移。方便開發(fā):Android平臺提供給第三方開發(fā)商一個十分寬泛、自由的環(huán)境,不會受到各種條條框框的阻擾,可想而知,會有多少新穎別致的軟件會誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如何控制正是留給Android難題之一。Google應用:在互聯(lián)網的Google已經經過了歷史的檢驗,從搜索巨人到全面的互聯(lián)網滲透完全融入進了人們生活的方方面面,Google服務如地圖、郵件、搜索等已經成為連接用戶和互聯(lián)網的重要紐帶,而Android平臺手機將這些優(yōu)秀的服務無縫結合起來REF_Ref9861\w\h[6]。1.5.2Eclipse的簡介Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發(fā)工具(JavaDevelopmentKit,JDK)。雖然大部分用戶愿意將Eclipse當作Java集成開發(fā)環(huán)境(IDE)來使用,但Eclipse的目標卻不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE),這個組件主要針對希望擴展Eclipse的軟件開發(fā)人員,因為它允許他們構建與Eclipse環(huán)境無縫集成的工具。在開發(fā)的過程中Eclipse中的所有內容都是插件,對于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。這種平等和一致性并不僅限于Java開發(fā)工具。盡管Eclipse是使用Java語言開發(fā)的,但它的用途并不僅限于Java語言;例如,支持諸如C/C++和COBOL等編程語言的插件已經可用,在后期也將有可能會推出。Eclipse框架還可用來作為與軟件開發(fā)無關的其他應用程序類型的基礎,比如內容管理系統(tǒng)。1.5.3其他軟件的簡介JDKJDK(JavaDevelopmentKit)是SunMicrosystems針對Java開發(fā)員的產品。自從Java推出以來,JDK已經成為使用最廣泛的JavaSDK。JDK是整個Java的核心,包括了Java運行環(huán)境,Java工具和Java基礎的類庫。JDK是學好Java的第一步。而專門運行在x86平臺的Jrocket在服務端運行效率也要比SunJDK好很多。從SUN的JDK5.0開始,提供了泛型等非常實用的功能,其版本也不斷更新,運行效率得到了非常大的提高。AndroidSDKSDK:(softwaredevelopmentkit)軟件開發(fā)工具包。被軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應用軟件的開發(fā)工具的集合。因此,AndroidSDK指的既是Android專屬的軟件開發(fā)工具包。ADT(AndroidDevelopmentTools)目前Android開發(fā)所用的開發(fā)工具是Eclipse,在Eclipse編譯IDE環(huán)境中,安裝ADT,為Android開發(fā)提供開發(fā)工具的升級或者變更,簡單理解為在Eclipse下開發(fā)工具的升級下載工具。1.6安卓環(huán)境的搭建1.6.1軟件下載準備分別下載JDK、Eclipse、AndroidSDK,并首先解壓Eclipse完成安裝。1.6.2JDK安裝首先按提示完成SDK安裝,然后設置環(huán)境變量(非必須)。1.我的電腦->屬性->高級->環(huán)境變量->系統(tǒng)變量中添加以下環(huán)境變量:2.JAVA_HOME值為:C:\ProgramFiles\Java\jdk-10.0.2(我所安裝JDK的目錄)3.CLASSPATH值:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;4.Path:
在開始追加%JAVA_HOME%\bin;安裝完成之后,檢查JDK是否安裝成功。打開cmd窗口,輸入java–version查看JDK的版本信息。出現(xiàn)下面的畫面表示安裝成功了,如圖1-1所示:圖1-1安卓環(huán)境設置JDK效果測試圖2需求分析2.1系統(tǒng)的需求分析該系統(tǒng)是一個基于安卓平臺的手機日程管理軟件。它主要是為本軟件的用戶提供日程管理方面服務的,主要包括日歷的查看、日歷上日期對應日程的查看、日程的增加、日程的刪除、日程的修改、對本軟件的設置以及軟件相關信息的查看等。本軟件有助于用戶記住重要的日程并給予提醒,也有助于用戶更好的管理自己的時間、提高工作學習的效率來減輕生活上的一些負擔,更輕松及有效的過好每一天。2.2需求分析根據系統(tǒng)分析,需求如下:日歷查看模塊:界面為一個完整的日歷形式,包括當前日期的完整顯示,還有每個日期上都分別有陽歷和陰歷的日期顯示,并且日歷中包含了各個重要的節(jié)日或紀念日等。在日歷界面上每個日期都會跳到當前日期的日程添加界面或者是日程顯示界面。點擊具體的日期,當日已添加的行程會出現(xiàn)在日歷下方,點擊具體行程,界面會跳轉到日程詳情界面,日歷上會對當日有添加日程的日期進行標記,以確保不會有日程遺漏的情況出現(xiàn)。日程管理模塊:在本模塊中包括總的日程顯示頁面和日歷頁面所跳轉到的日程顯示界面或者是日程添加界面??側粘田@示界面每一個日程都會有它所包含的日期、時間、日程類型、重復類型和日程內容。日歷日期所對應的日程顯示界面也是相應的顯示。而在日程添加界面中包含了顯示界面所對應的各項數據、添加日程成功后會有對應日歷日期的標記。另外也有對日程的一系列管理操作的功能。(3)日程添加模塊:包含日程管理界面所對應的各項數據,包括標題、描述、日期、時間、地點、標識顏色和重點的輸入,添加日程成功后會有對應日歷日期的標記,并顯示在當日時間軸上。(4)日程詳情模塊:顯示詳細日程信息,且有時間記錄部分,包括讀秒計時,開始、結束等按鈕,用戶可以實時記錄每項日程所用時間。被記錄的時間將會存儲在數據庫,在進行時間分析時使用。(5)時間分析模塊:以餅狀圖和柱狀圖的方式呈現(xiàn),以一周為周期,將用戶的計劃時間和實際所用時間進行對比、分析,幫助用戶找出時間規(guī)劃的不足,改善生活習慣。2.3系統(tǒng)的功能模塊結構圖在程序設計分析的基礎上,結合實際情況,得出本程序的功能模塊結構圖。在結構圖中包括了功能模塊的表示及其中部分功能的實現(xiàn)原理。首先是一個總的功能模塊的結構圖,其中包括了系統(tǒng)設計時的總體功能概括,如圖2-1。日程管理系統(tǒng)日程管理系統(tǒng)主界面日歷模塊任務模塊設置模塊關于模塊日歷顯示總日程顯示類型設置關于界面單一日程顯示圖2-1總系統(tǒng)功能模塊然后在總體的功能模塊后面是主體功能的詳細模塊顯示。在日歷界面顯示上可分為幾個部分,如圖2-2所示,日歷顯示日歷顯示陰歷顯示節(jié)假日顯示日期顯示圖2-2日歷顯示模塊還有就是日程的功能模塊的詳細介紹??傮w書寫了日程添加界面的功能點,結構圖如圖2-3所示。新建日程顯示新建日程顯示重復類型選擇日程時間書寫日程類型選擇日程內容書寫圖2-3日程界面模塊2.4主要功能流程新建日程流程如圖2-4所示。圖2-4新建日程刪除及查看日程流程如圖2-5所示。圖2-5刪除及查看日程3總體設計3.1數據存儲設計根據功能模塊設計了數據庫表NoteBean,Android提供了標準化的數據庫創(chuàng)建方式。建立DBHelper類繼承到MyDBHelper,實現(xiàn)onCreate方法,onCreate方法是用于初次使用軟件時生成數據庫。表中包括日程ID、日程標題、日程內容、日程時間、日程重點、地點、標志顏色、重點等幾個參數。建立時要對應需要寫上參數名、參數類型、主鍵等,數據字典如表3-1所示。表3-1數據庫表字段名字段含義類型長度主鍵id主鍵唯一標識int11是note_title標題varchar255否note_info內容varchar255否note_date創(chuàng)建日期varchar255否start_time開始時間varchar255否end_time結束時間varchar255否note_address地點varchar255否note_color顏色int1否note_important重點varchar255否do_time用時varchar255否3.2主界面顯示Activity主界面提供日程顯示,并支持左右選項卡滑動。主界面使用LinearLayout的線性布局和RelativeLayout的相對布局相結合的方式來布置內容。首先要建立好Android工程,然后在工程下的res/layout文件下建立一個名為main的空xml文件,然后按照思路在這個文件里添加布局代碼即可。創(chuàng)建項目,MainActivity自動繼承AppCompatActivity。onCreate方法重寫了父類Activity的onCreate方法,用來初始化了Activity實例對象。在設計代碼過程中使用了ButterKnife框架,這個框架采用注解進行注入,編譯期生成代碼,對運行沒有副作用。在初始化布局后,調用bind方法。當編譯Android工程時,ButterKnife工程中的ButterKnifeProcessor類的process()方法將會執(zhí)行以下的操作:(1)首先它會掃描Java代碼中所有的ButterKnife注解
@Bind
、
@OnClick
、
@OnItemClicked
等(2)當它發(fā)現(xiàn)一個類中含有任何注解時,
ButterKnifeProcessor
會生成一個Java類,名字類似
于<className>$$ViewBinder
,
ViewBinder<T>
接口會被這個新生成的類實現(xiàn)。(3)其中這個
ViewBinder
類包含了所有對應的代碼,比如說
@Bind
注解對應
findViewById()
,
@OnClick
對應了
view.setOnClickListener()
等等。(4)最后,當Activity啟動
ButterKnife.bind(this)
開始執(zhí)行時,ButterKnife會加載對應的
ViewBinder
類從而調用它們的
bind()
方法。然后進行主頁上邊導航欄的初始化設置,使用了NavigationTabStrip控件。設定Strip類型為線條,高度為6,縮放因數為2。通過ViewPager實現(xiàn)滑動切換動畫。3.3日程界面(1)保存日程信息,先從新增記事頁面里獲取標題、描述、日期、時間、地點、標識顏色、重點這幾個參數,在確定所有信息輸入完整后,將這些個參數放入到數據庫中。
(2)查詢某一天的日程信息,因為這里設計的是通過對日程的點擊來查看當前選中日期的詳細信息,即是根據日程的ID來查看的。Android
sqlite查詢的方法是query語句。
(4)刪除日程,這里刪除日程操作需要把日程和對應日期上的標記同時刪除,這樣比較便于管理,這里刪除使用的語句是delete。
(5)要將日程標志日期保存到數據庫中,這里是為了把在日期上標識的信息存儲在數據庫內,方法和第一步的保存方法類似,只是數據不一樣,而且這里使用的是數組形式。(6)關閉數據庫。判斷后直接關閉當前數據庫。
3.4日歷的顯示首先使用DateUtils處理時間類,獲取當前是一年中的第幾周(從周一開始)。cal=Calendar.getInstance();這一句一定要設置,否則美國認為第一天是周日,而在中國默認第一天是周一,對當前是第幾周的計算會出現(xiàn)錯誤。然后獲取當前是周幾,周日要特殊處理為0。系統(tǒng)主界面默認了選擇日歷界面在頭部菜單欄的下方。
下面是日歷界面中主體日期部分顯示的完成
。日歷選擇器。dpTimer.setOnDateSelected(newOnDateSelected(){@Overridepublicvoidselected(List<String>date){}@Overridepublicvoidselected(Stringdate){if(date!=null){//tvText.setText(date.substring(date.lastIndexOf("-")+1));//curDate=date;//setClothesImage();SelectDate=DateUtils.format(DateUtils.parse(date,"yyyy-M-d"),"yyyy-MM-dd");loadTwoData();}}});在MainActivity文件初始化實例對象時加入動態(tài)添加布局文件的方法。
我將此方法命名為MyGridView。在這個方法中同樣是先進行動態(tài)化布局,由于這里用的是GridView,這個GridView應用于將一系列的空間組織成二維網格的形式顯示出來,所以適用于我在這里進行的日期界面的建立。
Splash也就是應用程序啟動之前要先啟動的一個畫面,上面一般會簡單的介紹應用程序的廠商,包括廠商的LOGO、名稱、版本等信息,一般是一張圖片或一個動效,顯示延遲幾秒鐘后會自動消失,然后正常顯示應用程序的主體頁面。使用Activity作為Splash,這應該是最常用的方式了。方法就是新建一個Activity,然后給它設置一個背景,或者是要顯示的信息(廠商,LOGO,名字和版本),這里選用顯示的是產品名稱。讓它顯示延遲幾秒種,然后finish()掉它,并同時啟動應用主體Activity。具體代碼如下。publicclassSplashActivityextendsAppCompatActivity{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_splash);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//設置全屏
AlphaAnimationaa=newAlphaAnimation(0.3f,1.0f);
aa.setDuration(1800);
RelativeLayoutv=(RelativeLayout)findViewById(R.id.activity_splash);
v.startAnimation(aa);
aa.setAnimationListener(newAnimation.AnimationListener()
{
@Override
publicvoidonAnimationStart(Animationanimation)
{
}
@Override
publicvoidonAnimationRepeat(Animationanimation){
}
@Override
publicvoidonAnimationEnd(Animationanimation){
IntentmIntent;
mIntent=newIntent(SplashActivity.this,MainActivity.class);
startActivity(mIntent);
finish();
}
});
}
}4設計思想與實現(xiàn)對于時間管理App設計,以及UI界面的設計,我主要采用簡便的界面進行設計,下面將以圖形的方式介紹各個功能的實現(xiàn)過程。4.1日程模塊首頁通過時間軸和日程表的選項卡可以進行切換。時間軸模塊如圖4-1、日程表模塊如圖4-2所示。圖4-1時間軸界面圖4-2日程表界面時間軸顯示當日日程,按日程開始時間進行排序,點擊時間軸日程塊進入詳細信息界面,日程詳細信息包括事件、時間、日期、地點、描述、重點等??筛鶕€人喜好通過選擇不同標識顏色對日程進行歸類劃分,通過點擊右上角確定按鈕完成日程添加,如圖4-3所示。圖4-3日程詳細界面日程表界面可查詢其他日期已添加日程,點擊日程進入詳細信息界面,通過點擊首頁時間軸日程塊和日程表日程進入日程詳細信息界面,點擊開始、暫停、結束按鈕,實時記錄時間所花費的時間,如圖4-4所示。圖4-4時間記錄界面通過點擊首頁右上角icon進入時間分析界面,如圖4-5所示。圖4-5時間分析界面PAGEPAGE115系統(tǒng)測試與運行5.1系統(tǒng)運行環(huán)境根據以上對系統(tǒng)各種需求的分析和定義,建議系統(tǒng)測試選擇進行真機測試,用于測試的Android手機機型為華為榮耀7,搭載的系統(tǒng)為Android6.0,測試機信息如圖5-1所示。圖5-1測試機信息5.2軟件測試隨著智能移動終端的普及,手機應用軟件受到了越來越多的重視,軟件測試的作用也越來越凸顯。一般來說軟件測試的意義是找出軟件中的錯誤,檢驗軟件是否完成了開發(fā)初期任務書給定的功能要求,是否滿足了用戶的需要,給風險評估和軟件質量模型的建立提供依據。
軟件測試的目的一般有三個:確認軟件的質量、提供必要的信息和對軟件開發(fā)過程的測試。對軟件質量的測試主要是為了檢測產品是否完成了之前所設定的功能,其次是為了確保是通過正確的方法實現(xiàn)的該功能。提供信息是指產品經理和開發(fā)人員在完成自己的大部分工作后,需要通過軟件測試文檔獲得相應的反饋信息,從而作為風險評估的依據,以及是否需要進一步改進迭代。我們一般認為軟件測試是指對軟件本身的測試,其實并不僅僅是這樣,他還包括了對軟件開發(fā)過程的測試。因為如果無法保證軟件開發(fā)過程的質量,就無法保證軟件本身的質量。一個充滿缺陷的開發(fā)過程是不可能開發(fā)出沒有問題的產品的。由此,軟件測試這樣就保證了整個過程的高質量。而這三個方面最重要的目的就是檢測軟件的質量,要完成這一工作,主要是從以下幾個方面來進行衡量的:一、在規(guī)定的時間內使用正確的方法完成了工作。二、產品應該符合一般默認的應用標準,在不同國家,不同類型用戶的操作習慣和要求會有一定的差異,這就需要考慮到了用戶體驗的問題。還有產品的可維護性的特點是否得到了滿足。三、產品的高質量并不取決于是否設計了精美的代碼,是否和初期產品設計的功能一致。四、質量合格也意味著它能滿足用戶的功能需求。要進行軟件測試這項工作,最關鍵的一點就是站在用戶的角度看問題,從用戶的角度出發(fā)鑒別用戶所需要的功能是否滿足。在測試過程中發(fā)現(xiàn)問題,發(fā)現(xiàn)不便捷的交互方式,用例是否出現(xiàn)錯誤,把這些問題都解決掉,產品質量才能有效提高。6結束語經過一段時間的努力,我的畢業(yè)設計——時間管理軟件基本完成了,系統(tǒng)成功地通過了測試,基本上完成了模擬器的實現(xiàn)及手機操作的實現(xiàn)。畢業(yè)設計剛開始的初期,經過了一開始的準備工作,包括任務書、開題報告、外文翻譯的撰寫,使我對自己的畢業(yè)設計的定位、具體要實現(xiàn)的功能有了大概的認識。然后開始對之前學習過的Java知識進行了復習,對安卓開發(fā)的基礎知識進行了學習、熟悉。這些準備就緒了以后才開始進行畢業(yè)設計的啟動,盡管做了一些準備工作但一開始還是遇到了很多的問題。然后通過自己的不斷嘗試,不斷的學習,向同學尋求幫助,終于成功解決了畢業(yè)設計產品中的一些難點。雖然還是有沒有解決的問題,但在這個過程中我真實地經歷了很多,收獲了很多。我了解到了很多之前在書本中無法獲取的經驗,也再一次清楚地認識到只有自己親身實踐才能更有效地提升自己的能力。我發(fā)現(xiàn)只有知識是不夠的,必須要與實踐相結合才能提高自己的專業(yè)知識和實際操作能力。通過本次產品的開發(fā),我對AndroidStudio這一開發(fā)環(huán)境又有了全新的認識,我越是深入的使用它,越能清晰地體會到這個平臺的人性化。我們可以預見到,隨著信息技術的發(fā)展,將來不管使用哪種開發(fā)語言,使用哪種開發(fā)工具,開發(fā)模式都會越來越完善,開發(fā)平臺會越來越成熟,功能控件趨于集成化,靈活性也會越來越高。這些優(yōu)化將會為開發(fā)者帶來很大的方便,節(jié)約大量的成本,給開發(fā)者提供更大的空間?;贏ndroid的時間管理軟件,除了最基本的日程查詢功能外,還具備
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 簽署房屋買賣合同
- 合同協(xié)議吸收合并協(xié)議
- 農業(yè)科技智能溫室系統(tǒng)技術方案
- 個人健康記錄統(tǒng)計表(年度)
- 投資居間合同協(xié)議書
- 分項工程施工合同
- 房地產開發(fā)全總包合同
- 計算機購銷合同
- 2025年寧波貨運從業(yè)資格證模擬考試題
- 公司賬號保密協(xié)議
- 新能源汽車及零部件檢驗檢測公共服務平臺建設項目可行性研究報告
- 《工程熱力學》課件-11 理想氣體熱力學能、焓和熵的計算
- 發(fā)票知識培訓課件
- 《綜合辦崗位職責》課件
- 學校與家庭在學生心理健康中的協(xié)同作用
- 大學英語翻譯課件
- 《中醫(yī)望聞問切》課件
- 聲帶腫物的護理教學查房
- 2023年高考真題-地理(天津卷) 含答案
- 2025年公務員考試《行測》模擬題及答案(詳細解析)
- 2024年黑龍江省牡丹江市中考歷史試卷
評論
0/150
提交評論