版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、優(yōu)秀論文,值得下載!南 陽 理 工 學 院本科生畢業(yè)設(shè)計(論文)學院(系): 軟件學院 專 業(yè): 軟件工程 學 生: 李春峰 指導(dǎo)教師: 王耀寬 完成日期 2012 年 04 月優(yōu)秀論文精選!南陽理工學院本科生畢業(yè)設(shè)計(論文)android站點戶外考勤系統(tǒng)的設(shè)計與實現(xiàn)design and implementation ofthe android site outdoor attendance system 總 計:畢業(yè)設(shè)計(論文) 31頁表 格: 2個圖 片: 12個android站點戶外考勤系統(tǒng)的設(shè)計與實現(xiàn)南 陽 理 工 學 院 本 科 畢 業(yè) 設(shè) 計(論文)android站點戶外考勤系統(tǒng)的
2、設(shè)計與實現(xiàn)design and implementation ofthe android site outdoor attendance system 學 院(系): 軟件學院 專 業(yè): 軟件工程 學 生 姓 名: 李春峰 學 號: 068108220 指導(dǎo)教師(職稱): 王耀寬 講師 評 閱 教 師: 曹蕾 完 成 日 期: 2012年04月15日 南陽理工學院nanyang institute of technologyandroid站點戶外考勤系統(tǒng)的設(shè)計與實現(xiàn)軟件工程 李春峰摘 要 隨著商業(yè)的快速發(fā)展,公司和企業(yè)對人員管理日益規(guī)范化,考勤是其中常見的一種方式,而對戶外業(yè)務(wù)人員的考勤還沒有
3、一種較好的方法;在今天手機已經(jīng)成為生活中不可缺少一個工具,android手機操作系統(tǒng)已經(jīng)占有著很大一部分市場,本課題開發(fā)的項目就是基于android站點戶外考勤系統(tǒng),是針對戶外的工作人員開發(fā)的項目;通過google提供的map地圖包,可以很直接很方便獲取到所在地的位置信息,然后轉(zhuǎn)換為地理坐標,可以定位到精確的位置,本系統(tǒng)每隔一段時間發(fā)送一次請求獲取信息,當戶外工作人員獲取所在地理位置信息,把獲取到的地理位置坐標提交到服務(wù)器;當因網(wǎng)路問題或者其他問題時還是無法獲取到位置信息時,系統(tǒng)會自動提示啟動自帶的照相功能,可以通過對所在的位置拍照,并提交照片到服務(wù)器并保存記錄,從而達到了一種考勤方式。關(guān)鍵詞
4、 android;考勤;gps;站點design and implementation ofthe android site outdoor attendance systemsoftware engineering majorli chunfengabstract: along with the rapid development of to business, companies and enterprises to personnel management increasingly standardized, attendance is one common way, the outdo
5、or business staff attendance is not a good method; in todays mobile phone has become indispensable in the life of a tool, android mobile phone operating system have great part of the market, this topic development project is based on the android site outdoor attendance system, is for outdoor staff d
6、evelopment projects; through the google map map pack, can be very direct and convenient access to the location information, and then converted to geographic coordinates, can be positioned to a precise location, the system every for a period of time to send a request for information, when the outdoor
7、 workers to obtain location information, the access to the geographical coordinates is submitted to the server; when due to network problems or other issues still cannot get the location information, the system will automatically prompt start with photographic function, can pass on the location., an
8、d submit the photos to the server and record keeping, and thereby achieving a attendance mode.key words: android; checking attendance; gps; spot目 錄1 引言11.1 android系統(tǒng)發(fā)展趨勢11.2 開發(fā)的主要內(nèi)容和目標21.3 項目意義32 android系統(tǒng)開發(fā)和平臺搭建42.1 android系統(tǒng)的架構(gòu)42.1.1 應(yīng)用程序、42.1.2 應(yīng)用程序框架42.1.3 系統(tǒng)運行庫52.1.4 linux內(nèi)核62.2 android平臺的搭建63
9、需求分析83.1 用戶功能需求分析83.2 技術(shù)可行性分析93.3 市場可行性分析94 程序概要設(shè)計104.1 系統(tǒng)體系結(jié)構(gòu)104.2 功能模塊設(shè)計115 系統(tǒng)編碼與實現(xiàn)125.1 界面的設(shè)計與實現(xiàn)125.1.1 登錄界面125.1.2 獲取坐標界面145.1.3 拍攝圖片界面165.2 功能的詳細設(shè)計和實現(xiàn)165.2.1 主功能界面描述165.2.2 獲取地理坐標185.2.3 顯示gps歷史數(shù)據(jù)215.3 數(shù)據(jù)庫部分235.3.1建立數(shù)據(jù)庫表235.3.2 往數(shù)據(jù)庫里面寫入和讀取數(shù)據(jù)235.4 使用的的外部類以及其他屬性256 系統(tǒng)測試256.1 android應(yīng)用開發(fā)的測試技術(shù)256.2
10、 測試的任務(wù)266.3 測試方案與過程266.4 模塊測試276.4.1 獲取坐標276.4.2 拍攝照片276.4.3 驗收測試276.5 測試結(jié)果27結(jié)束語28參考文獻30致謝311 引言android是新起的操作系統(tǒng),現(xiàn)在已占據(jù)了三分之一的江山,隨著智能手機的快速普及,智能手機操系統(tǒng)市場已風聲水起,為了讓智能手機用戶隨時隨地的查詢互聯(lián)網(wǎng)提供的服務(wù),一種高效的辦法就是就是將應(yīng)用系統(tǒng)拓展到手機終端上,讓手機用戶通過網(wǎng)絡(luò)能隨時隨地的處理各種各樣的業(yè)務(wù)。因此,結(jié)合用戶的需求,手機應(yīng)用軟件有廣闊的發(fā)展前景。本開發(fā)項目就是建立在android操作系統(tǒng)上,運用java語言,從google上獲取地理坐標
11、位置,轉(zhuǎn)換為百度地理坐標。1.1 android系統(tǒng)發(fā)展趨勢android一詞本義指“機器人”,同時也是google于2007年11月5日宣布的基于linux平臺的開源手機操作系統(tǒng),號稱是首個為移動終端打造的真正開放和完整的移動軟件1。本項目的開發(fā)與設(shè)計主要是以android作為技術(shù)平臺,用java語言進行編寫,在手機上運用的項目,能夠根據(jù)google地圖獲取所在位置的地理坐標,運用百度轉(zhuǎn)碼轉(zhuǎn)換換為地理坐標,把數(shù)據(jù)發(fā)送到服務(wù)器端,以便管理員能根據(jù)接受到的數(shù)據(jù)進行判斷該員工是否已準時上班,可以很規(guī)范化的管理在外的業(yè)務(wù)人員。該系統(tǒng)避免了因上班位置不固定不能進行考勤的弊端,完善了公司和企業(yè)的管理制度
12、規(guī)范化,對公司企業(yè)的經(jīng)濟發(fā)展有著現(xiàn)實性作用。android作為谷歌企業(yè)戰(zhàn)略的重要組成部分,將進一步推進“隨時隨地為每個人提供信息”這一企業(yè)目標的實現(xiàn)。我們發(fā)現(xiàn),全球為數(shù)眾多的移動電話用戶從未使用過任何基于 android 的電話。谷歌的目標是讓(移動通訊)不依賴于設(shè)備甚至平臺。出于這個目的,android將補充,而不會替代谷歌長期以來奉行的移動發(fā)展戰(zhàn)略:通過與全球各地的手機制造商和移動運營商結(jié)成合作伙伴,開發(fā)既有用又有吸引力的移動服務(wù),并推廣這些產(chǎn)品2。如圖1-1所示:圖1-1 3月份手機系統(tǒng)趨勢據(jù)最新數(shù)據(jù)顯示(上圖),2012年全球市場3月份排在第一名依然是simian,達到31.31%,而
13、且份額比2月份的30.19%有明顯上升,這無疑令人驚奇。最近推出的nokia 808是simian的,像素達到4100萬,這款手機的銷量如何2月份ions和android分別為25.49%和24.76%,相差0.73%。3月份分別為24.14%和23.69%,二者相差更小了,只有0.45%,從之前幾個月的趨勢來看,這2者的差距一直在縮小。如圖1-2所示:圖1-2 手機趨勢而在中國市場,跟國際市場的反差巨大,simian出現(xiàn)大幅度下跌,35.28%下降到18.96%,從第一名滑到了第三名。android和ions增幅都很明顯,android從25.89%上升到36.01%,ions從12.79%
14、上升到15.86%,國際市場上他們的表現(xiàn)跟國內(nèi)市場看來是密不可分的。有趣的是中國的山寨操作系統(tǒng)(unknown)增幅也很快,僅次于android位居第二。我們認為,安卓在全球市場不斷的成長壯大,占據(jù)更多的市場份額已是不爭的事實3。1.2 開發(fā)的主要內(nèi)容和目標外勤員工定位管理作為精細化管理的一種具體體現(xiàn)方式,很大程度上能夠提高企業(yè)的效率,幫助管理者時刻獲悉外勤人員的工作動向。該項目是燕京啤酒公司其中的一個模塊,是對企業(yè)員工定位的一整套解決方案,無需添加硬件投資,租用型模式可隨時啟動、停止服務(wù),不需前期資產(chǎn)添置,不會引起后期所帶來潛在的資產(chǎn)閑置可能。極大地降低企業(yè)實施考勤管理的總體成本。外勤員工考
15、勤解決方案可以通過在員工現(xiàn)有手機上安裝部署手機軟件的形式,進行定位。而管理者可通過計算機網(wǎng)頁,手機網(wǎng)頁等形式查詢員工的當前位置狀態(tài)。預(yù)定區(qū)域到達/離開通知服務(wù)是考勤的另一種模式。首先員工在自己的手機上需安裝特定的手機軟件,接著企業(yè)的管理者可以預(yù)先設(shè)定某些區(qū)域,當員工進入這些預(yù)設(shè)的區(qū)域時,點擊獲取地理坐標,然后向服務(wù)器發(fā)送該地理坐標,同時也能存儲在考勤報表中,便于日后查閱。1.3 項目意義在最近幾年里,移動通信和手機互聯(lián)網(wǎng)成為當今世界發(fā)展最快、市場潛力最大、前景最誘人的兩大業(yè)務(wù)。接著隨著3g的出現(xiàn),手機互聯(lián)網(wǎng)時代又更進一步的推進了發(fā)展,它們的增長速度都是任何預(yù)測家未曾預(yù)料到的。迄今,全球移動用戶
16、已超過15億,互聯(lián)網(wǎng)用戶也已逾7億。中國移動通信用戶總數(shù)超過36億,互聯(lián)網(wǎng)用戶總數(shù)則超過1億。這一歷史上從來沒有過的高速增長現(xiàn)象反映了隨著時代與技術(shù)的進步,人類對移動性和信息的需求急劇上升。越來越多的人希望在移動的過程中高速地接入互聯(lián)網(wǎng),獲取急需的信息,完成想做的事情。所以,現(xiàn)在出現(xiàn)的手機與互聯(lián)網(wǎng)相結(jié)合的趨勢是歷史的必然。目前,手機互聯(lián)網(wǎng)正逐漸滲透到人們生活、工作的各個領(lǐng)域4。手機考勤,是中國移動九大技術(shù)創(chuàng)新應(yīng)用之一。android作為谷歌企業(yè)戰(zhàn)略的重要組成部分,將進一步推進“隨時隨地為每個人提供信息”這一企業(yè)目標的實現(xiàn)。我們發(fā)現(xiàn),全球為數(shù)眾多的移動電話用戶從未使用過任何基于android的電
17、話。谷歌的目標是讓(移動通訊)不依賴于設(shè)備甚至平臺。出于這個目的,android將補充,而不會替代谷歌長期以來奉行的移動發(fā)展戰(zhàn)略:通過與全球各地的手機制造商和移動運營商結(jié)成合作伙伴,開發(fā)既有用又有吸引力的移動服務(wù),并推廣這些產(chǎn)品。采用相關(guān)的技術(shù)軟件,用手機替代員工的胸卡,充當門禁,只要在上班的規(guī)定時間用手機獲取所在的地理位置信息,提交發(fā)送到公司的服務(wù)器,可以作為考勤。并且其還可以作為內(nèi)部消費,以及內(nèi)部信息發(fā)送的工具,公司可以向員工發(fā)送需要轉(zhuǎn)達的信息。當android出來的時候,大家都非常興奮,希望這個開放平臺能夠做好做大,有益于移動互聯(lián)網(wǎng)整個產(chǎn)業(yè)鏈的每一個角色:軟件平臺提供商google,元器
18、件供應(yīng)商與設(shè)備制造商,網(wǎng)絡(luò)運營商,應(yīng)用開發(fā)者,消費者。系統(tǒng)考勤管理是人力資源管理的重要環(huán)節(jié)。企業(yè)要建立高效的考勤管理所面臨的挑戰(zhàn)包括:靈活合理的排班計劃,勞動力成本的有效控制,實時的考勤數(shù)據(jù)審核和分析。在傳統(tǒng)的管理方式下,外勤業(yè)務(wù)員由于位置不確定,大量的考勤數(shù)據(jù)無法及時、準確地處理,使管理者無法獲取實時的考勤信息來進行分析以支持決策,并且傳統(tǒng)的管理方式存在眾多弊端、人為因素眾多,而本項目采用移動互聯(lián)網(wǎng)管理方式,技術(shù)領(lǐng)先,優(yōu)勢突出??记诠芾硐到y(tǒng)是人力資源管理系統(tǒng)的輔助系統(tǒng)??记诠芾碇С秩斯な謾C客戶端考勤,所謂人工手機考勤方式就是以手機作為考勤工具,android是google開發(fā)的基于linux
19、平臺的開源手機操作系統(tǒng)。將每天的考勤數(shù)據(jù)提交給管理員,可以進行有效地管理規(guī)范化,實現(xiàn)手機互聯(lián)網(wǎng)的優(yōu)勢,采用google地圖,獲取地理位置信息,gps定位簽到,使用者可以很方便地隨時查詢、統(tǒng)計、管理員工的考勤信息5。2 android系統(tǒng)開發(fā)和平臺搭建本應(yīng)用的主要開發(fā)環(huán)境是基于android平臺,接下來將介紹android的系統(tǒng)的主要組成部分和android環(huán)境的搭建。2.1 android系統(tǒng)的架構(gòu)android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。如圖2-1所示,android分為四個層,從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運行庫層和linux核心庫層次6,如圖2-1所
20、示:2-1 android系統(tǒng)架構(gòu)圖2.1.1 應(yīng)用程序、android會同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括email客戶端、sms短信消息程序、日歷、地圖、瀏覽器,聯(lián)系人管理程序等,有的應(yīng)用程序都是使用java語言編寫的。2.1.2 應(yīng)用程序框架開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的api框架。該應(yīng)用程序的架構(gòu)設(shè)計簡化了組件的重用,何一個應(yīng)用程序都可以發(fā)布它的功能塊并且任何其他的應(yīng)用程序都可以使用其所發(fā)布的功能塊。同樣,該應(yīng)用程序重用機制也使用戶可以方便的替換程序組件。隱藏在每個應(yīng)用后面的是一系列的服務(wù)和系統(tǒng),其中包括:(1) 豐富而又可擴展的視圖(views)可以用來構(gòu)建
21、的應(yīng)用程序,它包括列表(lists)、網(wǎng)格(grids)、文本框(text boxes),按鈕(buttons)甚嵌入的web瀏覽器。(2)內(nèi)容提供商(contentproviders)使得應(yīng)用程序可以訪問另一個應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫),或者共享它們自己的數(shù)據(jù)(3)資源管理器(resource manage)提供非代碼資源的訪問,如本地字符串,圖形和布局文件(layout files)。(4)通知管理器(notification manager)使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息。(5)活動管理器(activity manager)用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回
22、退功能。2.1.3 系統(tǒng)運行庫(1) 程序庫android包含一些c/c+庫,這些庫能被android系統(tǒng)中不同的組件使用。它們通過android應(yīng)用程序框架為開發(fā)者提供服務(wù),以下是一些核心庫:系統(tǒng)c庫:一個從bsd繼承來的標準c系統(tǒng)函數(shù)庫(libc),它是專門為基于embedded linux的設(shè)備定制的。媒體庫:基于packetvideo opencore,該庫支持多種常用的音頻、視頻格式回放和錄制,同時支持靜態(tài)圖像文件。編碼格式包括mpeg4、h.264、mp3、aac、amr、jpg,png。surface manager:對顯示子系統(tǒng)的管理,并且為多個應(yīng)用程序提供了2d和3d圖層的無
23、縫融合。libwebcore:一個最新的web瀏覽器引擎用,支持android瀏覽器和一個可嵌入的web視圖。sgl:底層的2d圖形引擎。3d libraries:基于opengles1.0 apis實現(xiàn);該庫可以使用硬件3d加速或者使用高度優(yōu)化的3d軟加速。freetype:位圖(bitmap)和矢量(vector)字體顯示。sqlite:一個對于所有應(yīng)用程序可用,功能強勁的輕型關(guān)系型數(shù)據(jù)庫引擎。(2)android運行庫android包括了一個核心庫,該核心庫提供了java編程語言核心庫的大多數(shù)功能,熟悉java預(yù)言的開發(fā)者可以很容易上手。每一個android應(yīng)用程序都在它自己的進程中運行
24、,都擁有一個獨立的dalvik虛擬機實例。dalvik 被設(shè)計成一個設(shè)備,它可以同時高效地運行多個虛擬系統(tǒng),dalvik虛擬機執(zhí)行的dalvik可執(zhí)行文件(.dex),該格式文件針對小內(nèi)存使用做了優(yōu)化。同時虛擬機是基于寄存器的,所有的類都經(jīng)由java編譯器編譯,然后通過sdk中的“dx”工具轉(zhuǎn)化成.dex格式由虛擬機執(zhí)行。dalvik虛擬機依賴于linux內(nèi)核的一些功能,比如線程機制和底層內(nèi)存管理機制7。2.1.4 linux內(nèi)核android的核心系統(tǒng)服務(wù)依賴于linux2.6內(nèi)核,如安全性,內(nèi)存管理,進程管理,網(wǎng)絡(luò)協(xié)議棧和驅(qū)動模型。linux內(nèi)核也同時作為硬件和軟件棧之間的抽象層。2.2
25、android平臺的搭建1. jdk的安裝雙擊jdk安裝包,按照安裝提示一步一步進行,然后配置環(huán)境變量,安裝完成之后,可以在檢查jdk是否安裝成功。打開cmd窗口,輸入java-version查看jdk的版本信息。出現(xiàn)如圖2-2的信息表示安裝成功。圖2-2 驗證jdk安裝是否成功2. eclipse的安裝eclipse ide for java developers (eclipse helios 3.6)。/downloads下載完成之后,直接解壓即可(例如的安裝路徑c:program fileseclipse_java)。3. android sd
26、k的安裝(1)在android developers下載android-sdk_r05-windows.zip,下載完成后解壓到任意路徑windows 環(huán)境下,右擊我的電腦( my computer),并選擇屬性(properties)。在標簽頁高級(advanced),點擊環(huán)境變量(environment variables),當對話出現(xiàn), 在系統(tǒng)變量(system variables)欄目里雙擊路徑(path),并添加tools/文件夾的完整路徑。需要說明的是,如果你升級你的sdk路徑不同 ,你需要記得更新你的路徑(path)到新的位置。(2)運行sdk setup.exe,點擊avail
27、able packages。如果沒有出現(xiàn)可安裝的包,點擊settings,選中misc中的“force http:/.”這項,再點擊available packages。(3)選擇希望安裝的sdk及其文檔或者其它包,點擊installation,selected、accept all、install accepted,開始下載安裝所選包。(4)在用戶變量中新建path值為:android sdk中的tools絕對路徑。4. adt的安裝(1)如果你要使用 eclipse ide作為開發(fā)android應(yīng)用的環(huán)境,你可以安裝支持android工程和工具的通用插件android developmen
28、t tools (adt),adt插件包含強大的擴張,使得創(chuàng)建,運行和調(diào)試android更快速,點擊add.按鈕,彈出對話框要求輸入name和location,location輸入http:/dl-圖2-3 adt的安裝(2)確認后,展開developer tools將顯示android ddms和android development tool,勾選它們,然后按提示繼續(xù)下一步。(3)點擊 finish,adt插件沒有簽名,你可以接收點擊安裝所有來安裝,重啟eclipse。(4)完成之后,選擇windowpreferences.,在左邊的面板選擇android,然后在右側(cè)點擊browse.并選
29、中sdk路徑e:android-sdk-windows,點擊apply、ok,配置完成8。5 .創(chuàng)建avd(1)在eclipse中,選擇windowsandroid sdk and avd manager,點擊左側(cè)面板的virtual devices,再右側(cè)點擊new,填入名字ff、target選擇android 2.2-api level8、sd card 512mib,選用hvga skin,其余默認設(shè)置。(2)點擊create avd即可完成創(chuàng)建avd。運行新建的模擬器,在列表中選中要運行的模擬器,然后單擊“start.”;再單擊“l(fā)aunch”。當運行成功后出現(xiàn)如圖2-3所示界面: (
30、3)如果你的開發(fā)環(huán)境缺少合適的虛擬機,安裝 sun java 6可以解決這個問題,然后你再重新安裝adt插件。如果jdk已經(jīng)安裝到你的開發(fā)電腦上,請確定在這頁的頂部列出的所選擇的版本,有些linux包含jdk1.4或者java的gnu編譯器,以上二者android開發(fā)不支持,如圖2-3所示:圖2-3 模擬器寫個helloworld程序進行測試,能夠運行,表示環(huán)境搭建成功,可以進行項目的開發(fā)。3 需求分析3.1 用戶功能需求分析本項目是燕京啤酒公司的其中一個模塊,是針對外勤業(yè)務(wù)人員而開發(fā)的一個項目,是與服務(wù)器相對應(yīng)的客戶端應(yīng)用。勤員工考勤解決方案可以通過在員工現(xiàn)有手機上安裝部署手機軟件的形式,進
31、行定位。而管理者可通過計算機網(wǎng)頁,手機網(wǎng)頁等形式查詢員工的當前位置狀態(tài)。預(yù)定區(qū)域到達/離開通知服務(wù)是考勤的另一種模式。外勤人員由于上班場所不固定,其考勤問題難以得到有效的解決,而本系統(tǒng)就是針對此問題進行開發(fā)。用戶安裝在手機里,當?shù)缴习嗟臅r間時,通過此google地圖獲取所在地理坐標,然后通過百度轉(zhuǎn)碼轉(zhuǎn)換為精確的地理坐標,點擊提交按鈕,會通過服務(wù)器發(fā)送給相關(guān)工作人員,而在電腦端會顯示該坐標的詳細地理位置,客戶端人員也可以通過手機瀏覽歷史數(shù)據(jù),進行有效地管理和考勤;如:上海市徐匯區(qū)平江路48號,從而達到一種及時考勤方式。本系統(tǒng)設(shè)計可以分為三大塊:獲取google地理坐標,百度轉(zhuǎn)碼轉(zhuǎn)換坐標,發(fā)送獲取
32、的數(shù)據(jù)。3.2 技術(shù)可行性分析本軟件是基于android操作平臺,全部采用java編程語言編寫,并具有以下特點:(1) android是一種以linux為基礎(chǔ)的開放源碼操作系統(tǒng),并具有以下特點,如表3-1所示:表3-1 android系統(tǒng)特點發(fā)行商:google編程語言:c/c+(底層) java等應(yīng)用層源碼模式:混合(自由免費,開放源碼)包類型:apk支持平臺:arm、mips、x86內(nèi)核類:整塊性核心(linux)(2) java語言的java語言很好的借鑒了c+語言,具有以下特點,如表3-2所示:表3-2 數(shù)據(jù)表city面向?qū)ο螅簀ava語言的設(shè)計完全是面向?qū)ο蟮模С朱o態(tài)和動態(tài)風格的代
33、碼繼承及重用。平臺無關(guān)性:java將它的程序編譯成一種結(jié)構(gòu)中立的中間文件格式。只要裝有java運行系統(tǒng)(java虛擬機)的機器都能執(zhí)行這種中間代碼。這些字節(jié)碼指令由java虛擬機來執(zhí)行,java虛擬機的解釋器在得到字節(jié)碼后,將其轉(zhuǎn)換并執(zhí)行,而不是由操作系統(tǒng)來執(zhí)行的。所以無論在任何操作系統(tǒng)上,java程序都能直接運行。 穩(wěn)定和安全性:java的異常處理機制可以幫助檢查出許多開發(fā)早期出現(xiàn)的錯誤。java自己操縱內(nèi)存減少了內(nèi)存出錯的可能性。java還實現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能。java提供null指針檢測數(shù)組邊界,檢測異常出口字節(jié)代碼校驗。因此java是穩(wěn)定健壯的,這項功能特征大大縮短了開發(fā)
34、java應(yīng)用程序的周期。在安全性方面,指針和釋放內(nèi)存等c+功能被刪除,避免了由于非法內(nèi)存操作而帶來的安全問題。3.3 市場可行性分析android智能手機越來越在中國占據(jù)較多的市場,據(jù)相關(guān)資料顯示2011年第一季度,android在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。 2012年2月數(shù)據(jù),android占據(jù)全球智能手機操作系統(tǒng)市場52.5%的份額,中國市場占有率為68.4%,所以本開發(fā)項目就是會有著廣大的客戶群體9;目前考勤是一家企業(yè)和公司對人員管理運用的一種普遍管理模式,而外勤人員由于具有很大的流動性,而對此考勤的考勤問題的正是本項目的開發(fā)的。4 程序概要設(shè)計4.1 系統(tǒng)體系結(jié)構(gòu)通
35、過項目需求分析和用戶需求,本項目需要設(shè)計到用戶通過界面進行交互,但主要核心部分是后臺服務(wù)的service部分,需要不斷的運行在后臺搜索數(shù)據(jù),獲取地理位置信息,用戶通過相應(yīng)的鏈接查看數(shù)據(jù);本項目還有到appwidget,appwidget是實現(xiàn)特定功能的一個視圖部件,是圖形背后的一段程序,可以嵌入到其他應(yīng)用程序中或手機人機交互的界面上,可以接受定期更新,系統(tǒng)體系結(jié)構(gòu)如圖4-1所示:appwidget啟動用戶界面app widget啟動服務(wù)后臺服務(wù)設(shè)置相關(guān)信息地理坐標startservice(new intent) 啟動服務(wù)google 地圖服務(wù)數(shù)據(jù)獲取數(shù)據(jù)庫獲取模塊sql 圖4-1 系統(tǒng)體系結(jié)構(gòu)
36、從系統(tǒng)結(jié)構(gòu)中圖中不難看出,后臺服務(wù)是整個系統(tǒng)的核心主要是“獲取模塊”,負責從goole中獲取地理坐標的經(jīng)緯度。后臺服務(wù)是在啟動程序時就有appwidgetprovider啟動服務(wù),也可由用戶界面通過startservice()進行啟動,啟動后就一直保持運行狀態(tài),通過簡歷數(shù)據(jù)庫表把數(shù)據(jù)存入到數(shù)據(jù)庫中,用來提供數(shù)據(jù)的查詢和瀏覽,有效的保存了數(shù)據(jù)。4.2 功能模塊設(shè)計如果獲取不到地理位置,采用拍攝圖片方式進行上傳瀏覽數(shù)據(jù)提交服務(wù)器百度轉(zhuǎn)碼獲取經(jīng)緯度用戶登錄戶外站點考勤圖4-2功能模塊設(shè)計如圖4-2所示,模塊結(jié)構(gòu)中本項目采用google自帶的api獲取地理位置,然后通過百度轉(zhuǎn)碼轉(zhuǎn)換為百度的地理坐標,用
37、戶通過手機按鈕提交到服務(wù)器。如果無法獲取到坐標側(cè)會自動跳轉(zhuǎn)到手機拍攝圖片界面,可以選擇啟動手機攝像頭,然后把所拍攝的圖片提交到服務(wù)器10。通過以上分析,下面進行簡單的ui界面描述:(1)登錄界面功能描述:輸入用戶名和密碼,可以選擇保存用戶名,但需要連接到網(wǎng)絡(luò)和服務(wù)器。(2)獲取坐標界面功能描述:當點擊開始工作按鈕時,開始獲取所在的地理坐標位置,并顯示在當前的頁面,顯示的數(shù)據(jù)時經(jīng)過百度轉(zhuǎn)碼轉(zhuǎn)換過的數(shù)據(jù)。在此頁面也可以查看歷史工作日志。(3)拍攝界面功能描述:當用戶因為網(wǎng)絡(luò)或者其他問題無法獲取到當前坐標時,會跳轉(zhuǎn)此界面,啟動手機自動的攝像頭,點擊拍攝按鈕進行拍攝,點擊提交系統(tǒng)會自動把當前圖片提交到
38、服務(wù)器。(4)歷史數(shù)據(jù)界面 用戶可以通過點擊界面的歷史數(shù)據(jù)按鈕,來瀏覽歷史數(shù)據(jù),本數(shù)據(jù)是從數(shù)據(jù)庫中提取,用listview 顯示在頁面中,記錄了提交的地理位置信息和提交時間。5 系統(tǒng)編碼與實現(xiàn)項目開發(fā)需求分析過后進入最重要的設(shè)計與實現(xiàn)階段,根據(jù)需求分析確定本項目應(yīng)該具有的功能和性能要求。本章主要介紹了該項目的界面設(shè)計與實現(xiàn),功能的詳細設(shè)計與實現(xiàn),以及提交到服務(wù)器的設(shè)計與實現(xiàn)。5.1 界面的設(shè)計與實現(xiàn)ui的本義是用戶界面,是英文user和interface的縮寫。從字面上看,ui由用戶與界面兩個部分組成,但實際上還包括用戶與界面之間的交互關(guān)系,所以可分為三個方向,分別是:用戶定位與研究、交互設(shè)計
39、、界面設(shè)計。本項目主要有三個界面:登錄界面,獲取坐標界面和手機拍攝界面。5.1.1 登錄界面在該界面中主要涉及到了,buttton、imageview、textview和布局文件,在本界面中使用的是相對布局。相關(guān)代碼如下:以上組件涉及到的部分知識點:android:layout_width設(shè)置組件的寬度android:layout_height設(shè)置組件的高度android:id給組件定義一個id值,供后期使用android:background設(shè)置組件的背景顏色或背景圖片android:text設(shè)置組件的顯示文字android:textcolor設(shè)置組件的顯示文字的顏色android:layo
40、ut_below組件在參考組件的下面android:aligntop同指定組件的頂平行,其余不在詳細描述。activity中通過函數(shù)setcontentview(r.layout.main)應(yīng)用該布局文件。本界面包括一背景圖片,和三個控制按鈕,兩個輸入框,一個選擇框和一個背景圖片。效果圖如圖5-1所示:圖5-1 登錄界面5.1.2 獲取坐標界面textview控件可用來展示文本信息(包括html文本),可以手動來設(shè)置可編輯或不可編輯。在代碼中通過new的方式創(chuàng)建,創(chuàng)建,設(shè)置文本,樣式后,通過setcontentview方法,將空間設(shè)置到界面中。通過在main.xml中添加textview配置節(jié)
41、來創(chuàng)建,設(shè)計基礎(chǔ)屬性,寬度、高度、顏色、字體大小等,需要注意的是設(shè)置字體大小的幾個單位(sp/dp/ps)之間的區(qū)別,幾個單位的解釋如下:dp也就是dip。這個和sp基本類似。如果設(shè)置表示長度、高度等屬性時可以使用dp或sp。但如果設(shè)置字體,需要使用sp。dp是與密度無關(guān),sp除了與密度無關(guān)外,還與scale無關(guān)。如果屏幕密度為160,這時dp和sp和px是一樣的。1dp=1sp=1px,但如果使用px作單位,如果屏幕大小不變(假設(shè)還是3.2寸),而屏幕密度變成了320。那么原來textview的寬度設(shè)成160px,在密度為320的3.2寸屏幕里看要比在密度為160的3.2寸屏幕上看短了一半。
42、但如果設(shè)置成160dp或160sp的話。系統(tǒng)會自動將width屬性值設(shè)置成320px的。也就是160 * 320 / 160。其中320 / 160可稱為密度比例因子。也就是說,如果使用dp和sp,系統(tǒng)會根據(jù)屏幕密度的變化自動進行轉(zhuǎn)換。此界面的布局代碼如下: 運行后如圖5-2所示:圖5-2 獲取界面5.1.3 拍攝圖片界面當無法獲取到所在的地理坐標時,會跳轉(zhuǎn)到下一界面,提示手機拍攝并啟用手機自帶的攝像頭,拍攝完畢后,點擊提交按鈕則會把圖片提交到服務(wù)器。5.2 功能的詳細設(shè)計和實現(xiàn)在本小節(jié)中主要是代碼實現(xiàn)功能模塊:本項目的主要功能有:獲取地理坐標,并顯示百度轉(zhuǎn)碼轉(zhuǎn)換后的坐標,提交到服務(wù)器和手機拍攝照片并保存到本地,然后提交到服務(wù)器。5.2.1 主功能界面描述(1)顯示坐標頁面:登錄后會進入到此界面,點擊開始工作按鈕便會自動獲取所在的位置信息,獲取完成后會提示是否提交。(2)顯示歷史數(shù)據(jù):在坐標頁面點擊歷史日志按鈕,便會跳轉(zhuǎn)到歷史數(shù)據(jù)界面,會顯示獲取的歷史數(shù)據(jù),包括經(jīng)度和緯度以及獲取坐標的時間。(3)拍攝照片當無法獲取到坐標時,會進入到此界面,啟動手機攝像頭拍攝圖片并提交到服務(wù)器11。該部分的實現(xiàn)代碼如下:button1.setonclicklistener(new onclicklistener() override public void onclick(view v) if(b
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年建筑安裝工程項目合同
- 力課件教學課件
- 2024年廣告代理合作協(xié)議
- 2024年工程咨詢與技術(shù)服務(wù)合作協(xié)議
- 2024年度公司用車管理協(xié)議
- 2024年度建筑工程設(shè)計、施工購銷合同
- 2024年度35kv高壓線路施工合同
- 2024年度某影視公司與某投資公司關(guān)于某電影項目融資的合同
- 公司年會的演講稿模板八篇
- 為世界無車日活動宣傳標語(155句)
- 疼痛科整體規(guī)劃和發(fā)展方案
- 2024年中國南水北調(diào)集團水網(wǎng)水務(wù)投資限公司及下屬單位社會招聘高頻難、易錯點500題模擬試題附帶答案詳解
- (新版)食品生產(chǎn)企業(yè)食品安全員理論考試題庫500題(含答案)
- 七年級語文上冊第13課《紀念白求恩》公開課一等獎創(chuàng)新教案
- 統(tǒng)編版語文六年級上冊第八單元大單元整體教學設(shè)計
- 教師個人業(yè)務(wù)學習筆記(41篇)
- 2025年高考語文復(fù)習備考復(fù)習策略講座
- 數(shù)學史上的三次數(shù)學危機
- 2024年水電暖安裝承包合同
- 缺乳(乳汁淤積)產(chǎn)婦的中醫(yī)護理
- 2024北師大版新教材初中數(shù)學七年級上冊內(nèi)容解讀課件(深度)
評論
0/150
提交評論