【正文】
ofan calendar Build Target(需要的版本): Android Application name(應(yīng)用名稱(chēng)): CalendarPackage name(包名): Create Activity(java項(xiàng)目名稱(chēng)): Calendar圖51 程序工程的創(chuàng)建當(dāng)然,在實(shí)際程序中,我們可以定義自己的名稱(chēng)。一個(gè)Activity可以有如下聲明:?xml version= encoding=utf8?manifest...application.../Activityandroid:name=””android:”string/main_title”android:”drawable/icon” /application/Activit.../application/manifest,所以encoding顯示是utf8,;. 該系統(tǒng)支持的版本和編碼定義了我們需要使用的架構(gòu),該架構(gòu)來(lái)自xml,它是一個(gè)命名空間,它就像一條河的源頭一樣能讓我們找到系統(tǒng)架構(gòu),每一個(gè)配置文件必須有這個(gè)xml,否則程序中的所使用的所有資源將無(wú)法找到。而且,該文件可以包含可用于測(cè)試該應(yīng)用程序或其他應(yīng)用程序的工具細(xì)節(jié)。,它位于Android工程的根目錄,描述了package中的全局?jǐn)?shù)據(jù),包括package中的組件,各自的實(shí)現(xiàn)類(lèi),各種能被處理的類(lèi)和啟動(dòng)位置等。 AndroidManifest文件在啟動(dòng)一個(gè)Android應(yīng)用程序組件之前,必須確定相應(yīng)組件是存在的。再次被創(chuàng)建的活動(dòng),跟原來(lái)開(kāi)啟過(guò)的活動(dòng)是不一樣的。如果被回收掉的活動(dòng)一旦又重新被調(diào)用時(shí),會(huì)像一般啟動(dòng)一樣再次調(diào)用活動(dòng)的onCreate方法。另外按返回鍵也可以回到原來(lái)的活動(dòng)。(2)調(diào)用另一個(gè)活動(dòng)調(diào)用另一個(gè)活動(dòng)的基本流程為onpause(l)一onCreate(2)一onstart(2)一0nResume(2)一onStop(l)。當(dāng)這些優(yōu)先級(jí)高的事件處理完后,活動(dòng)就改進(jìn)入繼續(xù)狀態(tài),此時(shí)又取得屏幕的控制權(quán)。(2)可見(jiàn)與不可見(jiàn)(啟動(dòng)/重新啟動(dòng)/停止)當(dāng)活動(dòng)運(yùn)行到啟動(dòng)狀態(tài)時(shí),就可以在屏幕上看到這個(gè)活動(dòng)。要手動(dòng)終止活動(dòng),可以在程序中調(diào)用finish方法。(3)停止?fàn)顟B(tài)停止?fàn)顟B(tài)是指有其他活動(dòng)正在執(zhí)行,而這個(gè)活動(dòng)己經(jīng)離開(kāi)屏幕,不再動(dòng)作的狀態(tài)。(2)暫停狀態(tài)暫停狀態(tài)是指當(dāng)活動(dòng)暫時(shí)暗下來(lái),退到背景畫(huà)面的狀態(tài)。 堆棧管理狀態(tài)Android的虛擬機(jī)是使用堆棧管理。關(guān)于進(jìn)程的生命周期將在下一節(jié)中介紹,本節(jié)主要介紹活動(dòng)的生命周期。Android應(yīng)用程序的生命周期是由Android框架進(jìn)行管理,而不是由應(yīng)用程序直接控制。同時(shí)執(zhí)行多個(gè)程序有它的明顯好處,但也有它的缺點(diǎn)。其他的應(yīng)用程序可以使用這些方法來(lái)保存和檢索此內(nèi)容提供者處理過(guò)的數(shù)據(jù)。這樣做的好處是,可以保護(hù)系統(tǒng)及應(yīng)用程序,避免被其他不正常的應(yīng)用程序所影響。補(bǔ)充說(shuō)明:傳遞給start Service()的Intent對(duì)象會(huì)傳遞給on Start()方法。service 可以在和多場(chǎng)合的應(yīng)用中使用,比如播放多媒體的時(shí)候用戶(hù)啟動(dòng)了其他Activity這個(gè)時(shí)候程序要在后臺(tái)繼續(xù)播放,比如檢測(cè)SD 卡上文件的變化,再或者在后臺(tái)記錄你地理信息位置的改變等等。Service 是一種程序,它可以運(yùn)行很長(zhǎng)時(shí)間,但是它卻沒(méi)有用戶(hù)界面。它可以運(yùn)行在它自己的進(jìn)程,也可以運(yùn)行在其他應(yīng)用程序的進(jìn)程里,這取決于自身的需要。意圖接收器并不顯示UI界面,它是通過(guò)NotificationManager來(lái)通知用戶(hù)他們感興趣的事件發(fā)生了。當(dāng)打開(kāi)一個(gè)新的屏幕時(shí),之前一個(gè)屏幕會(huì)被置為暫停狀態(tài),并且壓入歷史堆棧中。一般一個(gè)Android 應(yīng)用是由多個(gè)Activity 組成的。在Android的程序當(dāng)中,Activity 一般代表手機(jī)屏幕的一屏。由于不是所有的Android應(yīng)用程序都必須具備上面的四個(gè)組件,可以由上面的一個(gè)或幾個(gè)來(lái)組建。典型的例子就是使用內(nèi)容提供者來(lái)訪問(wèn)聯(lián)系人列表。例如媒體播放器的服務(wù),當(dāng)用戶(hù)退出媒體選擇的界面時(shí),仍然希望音樂(lè)依然可以繼續(xù)播放,這時(shí)就可用服務(wù)來(lái)保證當(dāng)用戶(hù)界面關(guān)閉時(shí)音樂(lè)還繼續(xù)播放著。意圖也可以用于廣播系統(tǒng)范圍內(nèi)的有效事件(例如通知事件)。開(kāi)發(fā)者可以通過(guò)創(chuàng)建一個(gè)新的視圖的方法來(lái)使用自定義的圖形處理技術(shù)(比如開(kāi)發(fā)游戲,或者是使用了不常用的用戶(hù)圖形窗口界面)。不過(guò)這不是必須的,有些活動(dòng)從不顯示UI界面。也可以使用此文件以聲明方式定義應(yīng)用程序所需的權(quán)限,以及將特定權(quán)限授予使用該應(yīng)用程序的Service的其他應(yīng)用程序。舉例來(lái)說(shuō),控制文件就是把活動(dòng)和要接收的意圖(Intents)連接在一起的“膠水”。這個(gè)配置文件是每個(gè)Android應(yīng)用程序所必需的,用于定義應(yīng)用程序的組件、組件的功能以及必要條件等。 Android運(yùn)行時(shí)的組件雖然Android是用Java語(yǔ)言來(lái)開(kāi)發(fā)、撰寫(xiě)應(yīng)用程序,但卻不使用Java運(yùn)行時(shí)組件來(lái)執(zhí)行Java程序,而是使用了由Google自行研發(fā)的Android運(yùn)行時(shí)組件來(lái)執(zhí)行程序。(7)SQLite: SQLite是一套開(kāi)放性的關(guān)聯(lián)式資料庫(kù),能夠被所有應(yīng)用程序使用的輕量級(jí)的關(guān)系數(shù)據(jù)庫(kù)引擎。SSL協(xié)議位于TCP膽協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。(4)Media Frame work:主要是以packetVideo公司的OpenCORE為基礎(chǔ)所發(fā)展的多媒體類(lèi)庫(kù),該庫(kù)支持回放和錄制大量流行的音視頻格式和靜態(tài)圖片。例如:在2D、2D顯示上的合成、疊合動(dòng)作。(9)包管理器:管理所有安裝在Android系統(tǒng)內(nèi)的包。例如:啟動(dòng)應(yīng)用程序要用到的資源準(zhǔn)備及關(guān)閉應(yīng)用程序時(shí)釋放內(nèi)存及相關(guān)資源等工作。(3)資源管理器:提供各種非程序代碼的資源讓?xiě)?yīng)用程序去使用。 應(yīng)用程序框架在Android SDK中,定義了讓開(kāi)發(fā)者使用與核心應(yīng)用程序相同API的權(quán)限應(yīng)用程序框架是為了要簡(jiǎn)化組件的重新利用而設(shè)計(jì)的,應(yīng)用程序可以發(fā)布功能為其它應(yīng)用程序所使用。這項(xiàng)技術(shù)可以用來(lái)引導(dǎo)飛機(jī)、船舶、車(chē)輛以及個(gè)人。其目前可使用的標(biāo)準(zhǔn)有兩個(gè)。EDGE是一種從GSM到3G的過(guò)渡技術(shù),它主要是在GSM系統(tǒng)中采用了一種新的調(diào)制方法,即最先進(jìn)的多時(shí)隙操作和SPSK調(diào)制技術(shù)。(7)GSM技術(shù):Global System for Mobile Communications,即全球移動(dòng)通訊系統(tǒng),俗稱(chēng)“全球通”,是一種起源于歐洲的移動(dòng)通信技術(shù)標(biāo)準(zhǔn),是第二代移動(dòng)通信技術(shù),其開(kāi)發(fā)目的是讓全球各地可以共同使用一個(gè)移動(dòng)電話網(wǎng)絡(luò)標(biāo)準(zhǔn),讓用戶(hù)使用一部手機(jī)就能行遍全球。SQLite也是一套開(kāi)放性的關(guān)聯(lián)式資料庫(kù),其特點(diǎn)在于輕量性方面的設(shè)計(jì)結(jié)構(gòu),更適合在手機(jī)上使用。它能夠支持Windows/Linux/U nix等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語(yǔ)言相結(jié)合,比如php,Java等,還有ODBC接口,同樣比起Mysql,PostgreSQL來(lái)講,它的處理速度比它們都快。在2D方面,Android提供了一套特有的類(lèi)庫(kù)SGL,(openGL for Embedded systems)規(guī)范的類(lèi)庫(kù)。(3)集成的瀏覽器:集成的瀏覽器是Android內(nèi)建的瀏覽器,是以WebKit的瀏覽引擎為基礎(chǔ)所開(kāi)發(fā)成的。3 Android的架構(gòu)分析Android架構(gòu)分析包括:Android的功能特征,應(yīng)用程序框架,類(lèi)庫(kù),Android運(yùn)行時(shí)的組件以及Android應(yīng)用的構(gòu)成和工作機(jī)制。由于本文是在Android ,因此在Eclipse中的設(shè)置是,Window關(guān)聯(lián)Android SDK, ADT下載安裝完成后,WindowPreferences, 打開(kāi)Preferences對(duì)話框,點(diǎn)擊對(duì)話框左側(cè)Android, 然后在對(duì)話框右側(cè)Android Reference中,點(diǎn)擊SDK Location右側(cè)Browse...,選擇C:\,然后OK。 SDK的配置因?yàn)槲覀円_(kāi)發(fā)的是Android應(yīng)用程序,所以SDK是從Google那里下載,大家可以從地址,然后點(diǎn)擊SDK就到了這個(gè)下載頁(yè)面,由于本文設(shè)計(jì)采用的是XP的系統(tǒng),. 下載后解壓到一個(gè)目錄,如C:\ 然后同樣要設(shè)置環(huán)境變量,同JDK設(shè)置,新建一個(gè)SDK_HOME,值為C:\ ,然后找到Path,在前面加上%SDK_HOME%\tools。SUN官方網(wǎng)站是:下載后安裝是下的解壓包那就解壓到某目錄,例如解壓到是C:\Java\;右鍵點(diǎn)擊我的電腦 屬性 高級(jí),點(diǎn)擊下面的環(huán)境變量,在下面的“系統(tǒng)變量”處選擇新建,在變量名處輸入 JAVA_HOME變量值中輸入剛才的目錄,我的安裝目錄是在C:\Java\,如圖21所示:圖21進(jìn)入環(huán)境變量確定后再新建一個(gè)變量名為Classpath,變量值為 %JAVA_HOME%/lib/。本文的程序設(shè)計(jì)是在系統(tǒng)XP sp3 32bit系統(tǒng)之上進(jìn)行的,其他的系統(tǒng)可以自己搜索一下差異,整個(gè)程序基本可以兼容多個(gè)系統(tǒng)。第六部分,對(duì)整個(gè)畢業(yè)設(shè)計(jì)做了總結(jié)以及對(duì)未來(lái)的展望。第三部分,對(duì)于Android系統(tǒng)架構(gòu)的分析,通過(guò)分析程序的架構(gòu),功能特征,能非常清楚的了解Android應(yīng)用的構(gòu)成和工作機(jī)制。無(wú)論是在國(guó)內(nèi)還是在國(guó)外,Android平臺(tái)對(duì)手機(jī)軟件行業(yè)和移動(dòng)手機(jī)平臺(tái)將發(fā)揮極大地推動(dòng)作用,而在未來(lái)的幾年或者一段時(shí)間內(nèi),Android將越發(fā)的凸顯出自己的重要性。 以Google、蘋(píng)果和諾基亞為中心各自形成的生態(tài)鏈將以原來(lái)數(shù)倍的速度推動(dòng)移動(dòng)互聯(lián)網(wǎng)的發(fā)展,這正式Google發(fā)布Android平臺(tái)的意義,也是Andorid平臺(tái)存在的使命所在。本課題的意義在于通過(guò)開(kāi)發(fā)一款工作日志記錄器軟件,可以熟練應(yīng)用Android平臺(tái)提供的應(yīng)用程序接口,掌握Android平臺(tái)上的各種應(yīng)用軟件的開(kāi)發(fā)和使用。此舉將極大推動(dòng)Android快速的推廣和發(fā)展。有了Java虛擬機(jī),大部分Java核心類(lèi)庫(kù)都已經(jīng)可以直接運(yùn)行。 Google與包括中國(guó)移動(dòng)、摩托羅拉在內(nèi)的三十多家技術(shù)和無(wú)線應(yīng)用的領(lǐng)軍企業(yè)組成的開(kāi)發(fā)聯(lián)盟為此于2007年11月推出了一個(gè)專(zhuān)為移動(dòng)設(shè)備設(shè)計(jì)的軟件平臺(tái)———Android。因此,它具有很大的市場(chǎng)發(fā)展?jié)摿Α?背景隨著移動(dòng)通信的發(fā)展以及互聯(lián)網(wǎng)向移動(dòng)終端的普及,網(wǎng)絡(luò)和用戶(hù)對(duì)移動(dòng)終端的要求越來(lái)越高,而Symbian,Windows Mobile,Palm OS等手機(jī)平臺(tái)過(guò)于封閉,不能很好的滿足用戶(hù)的需求,因此市場(chǎng)迫切需要一個(gè)開(kāi)放性很強(qiáng)的平臺(tái)。logthe calendar, as well asthe Android platformlogrecord of the workis designed and implementedwithWORKLOGGING BASED ON ANDROIDABSTRACTIn the context 本文通過(guò)對(duì)Android開(kāi)發(fā)環(huán)境、架構(gòu)分析,對(duì)Android應(yīng)用程序結(jié)構(gòu)剖析完成Android工作日志記錄器目標(biāo)的實(shí)現(xiàn)。主要基于支持Android平臺(tái)的Eclipse開(kāi)發(fā)環(huán)境,通過(guò)JAVA語(yǔ)言的編程,實(shí)現(xiàn)日歷,以及在每天編輯工作日志的功能。本文設(shè)計(jì)并實(shí)現(xiàn)基于Android平臺(tái)的工作記錄器的設(shè)計(jì),實(shí)現(xiàn)在日常生活中記錄工作日志。Android平臺(tái)提供給用戶(hù)非常方便的功能,提供了一個(gè)很好的平臺(tái),通過(guò)設(shè)計(jì)一款基于該平臺(tái)的工作日志記錄器應(yīng)用軟件,我們可以在記錄我們工作安排的同時(shí),最終讓每個(gè)用戶(hù)能夠在工作與生活間游刃有余。OFsmart phonemultimedia applications, puter and network has been fully penetrated into every corner of daily life. Intelligent mobile phone has been determined to bee the trend henceforth, it not only will bee the main device to obtain information. But also through the application software to record and plan our life and schedule. This articlethedesign, recordingsupport forJAVA language programming, to achieveeditorial work一款基于手機(jī)系統(tǒng)甚至平版電腦系統(tǒng)的工作日志記錄器軟件就進(jìn)入了設(shè)計(jì)的視線。Android 平臺(tái)的開(kāi)放性等特點(diǎn)既能促進(jìn)技術(shù)(包括平臺(tái)自身)的創(chuàng)新,又有助于降低開(kāi)發(fā)成本,還可以使運(yùn)營(yíng)商能非常方便地制定自己的特色化的產(chǎn)品。因此,移動(dòng)終端的應(yīng)用軟件和需要的服務(wù)將會(huì)有很大的發(fā)展空間。(2)經(jīng)過(guò)Google修改過(guò)的Java虛擬機(jī)Dalvik,是基于Apache Harmony虛擬機(jī)版本進(jìn)行改良而來(lái),能夠提供極高的執(zhí)行性能。(5)Google提供了基于Eclipse的完整開(kāi)發(fā)環(huán)境,模擬器,文檔,幫助,本文就是基于Eclipse開(kāi)發(fā)環(huán)境開(kāi)發(fā)并且實(shí)現(xiàn)設(shè)計(jì)需要。在以Java語(yǔ)言為基礎(chǔ),結(jié)合Android移動(dòng)開(kāi)發(fā)平臺(tái),并利用Android提供的SDK,在Eclipse軟件中完成Android工作日志記錄器的設(shè)計(jì),形成一款具有一定功能的手機(jī)應(yīng)用軟件。同時(shí),合作方能夠在這里得到利潤(rùn)或者創(chuàng)造價(jià)值,手機(jī)軟件行業(yè)得到維護(hù)協(xié)調(diào)發(fā)展。更多的手機(jī)軟件開(kāi)發(fā)企業(yè)已經(jīng)著手籌備將公司進(jìn)行轉(zhuǎn)型,從其他方向的開(kāi)發(fā)轉(zhuǎn)到Android的開(kāi)發(fā)。第二部分,介紹開(kāi)發(fā)環(huán)境以及開(kāi)發(fā)的操作系統(tǒng),配置整個(gè)Android的開(kāi)發(fā)環(huán)境,通過(guò)修改Eclipse的設(shè)置,使得電腦具備編輯Android程序的能力。通過(guò)對(duì)于整個(gè)系統(tǒng)的測(cè)試和功能演示,完成整個(gè)程序的調(diào)試,最終實(shí)現(xiàn)設(shè)計(jì)目標(biāo)。 操作系統(tǒng)實(shí)現(xiàn)本設(shè)計(jì)目前只支持XP(32bit)、Vista(32/64bit)、Mac OS X 、Linux(只在Linux Ubuntu Dapper Drake上面做過(guò)測(cè)試)。 JDK的配置 首先要到SUN官方下載JDK,注意的是下