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