談安卓系統的測量軟體開發技術論文(精選6篇)
談安卓系統的測量軟體開發技術論文(精選6篇)
在學習、工作生活中,大家總少不了接觸論文吧,論文的型別很多,包括學年論文、畢業論文、學位論文、科技論文、成果論文等。那麼你有了解過論文嗎?下面是小編精心整理的談安卓系統的測量軟體開發技術論文,希望對大家有所幫助。
談安卓系統的測量軟體開發技術論文 篇1
【摘要】安卓系統模式下設計開發的測量軟體,可以應用在移動終端中,從而達到單一導線、水準路線、計算功能以及外業功能,還能夠轉換不同座標,並且也能夠依據藍芽裝置接收以及傳輸計算機和移動裝置、移動裝置之間的資料資訊。本文主要分析了基於安卓系統的測量軟體開發技術。
【關鍵詞】安卓系統;測量軟體;開發技術
現階段,社會上越來越普及安卓作業系統,具備使用方便、價格低、功能強大等特點,開源性系統是其基本動力,能夠在不同行業中得到大量推廣,並且逐漸取代其他形式的掌上裝置,因為設計開發時間相對比較長,需要建立符合實際情況的平板電腦和安卓手機測量軟體開發系統,設計基本功能模組。
1測量軟體開發中應用安卓系統的重要性
1.1安卓系統的操作性和實用性比較強
隨著日常生活中不斷普及智慧手機,給人們生活帶來嚴重影響,安卓系統的可操作性和實用性比較強,已經成為眾多系統中比較出色的系統,逐漸成為目前使用最多的移動終端系統。此外,安卓系統基本屬於開源系統,促使使用者使用和設計開發的時候十分方便,測量過程中安卓系統能夠有效解決測量條件、環境等問題,以便於全面提高測量的準確度。
1.2安卓系統可以提高測量效率
為了能夠有效提高測量的質量以及效率,合理應用Java語言來開發和設計安卓系統,基於此建立相應的測量軟體,不但能夠實時記錄、儲存和傳輸測量以及採集資料資訊,還能夠保留介面中原始記錄,以便於全面提高測量效率,達到降低測量工作量的目的[1]。
1.3安卓系統能夠解決測量外業不續航現象
外業測量的過程中,因為野外、隧道、井下等環境影響和限制測量工作,促使測量的時候已經逐漸不能應用傳統裝置。隨著不斷髮展資訊化技術,外業測量過程中急需要開發新技術。現階段外業測量過程中經常應用測量軟體平臺就是PDA平臺,雖然能夠在一定程度上提高工作效率和質量,但是由於PDA具備比較小的螢幕,使用的時候十分不方便,促使不能完全滿足測量實際需求。測量軟體中合理應用安卓系統的可操作性、開源性、實用性比較強,可以完全滿足測量中不足續航問題。
2測量軟體程式功能
測量軟體具備比較小記憶體和安裝包,操作方便和簡單。開發過程中主要就是應用sqllite和Java嵌入式形式。使用者應用測量軟體的時候能夠對檢查角進行隨時檢查,並且及時進行儲存記錄。依據系統實際情況使用者可以隨時修改資料資訊。依據國家相關標準以及觀測等級來對游標位置進行自動移動。超限檢查的過程中,如果系統超限,系統會提出GO字樣。如果出現偶數站,系統中需要提示輸出資訊,按鈕從紅色自動變為綠色,對資料進行記錄,為了不丟失系統資料,需要設定能夠及時儲存的儲存按鈕。依據相關統計結果可以發現,利用空間資料處理軟體,來促進自動形成結果電子表格。設計系統軟體的基本功能有,開啟軟體、檔案儲存、新建檔案、刪除檔案等。儲存外業記錄資料。測量軟體中應用安卓系統,需要合理設計外業記錄管理測量的軟體模組,以此來新增、建立、備份、瀏覽測量資料,此外,這種外業模組需要能夠建立資料輸入口,以便於達到儲存資料的目的。傳輸外業資料。測量軟體中應用安卓系統實際上就是傳輸以及接受計算機和移動終端、移動終端之間的資料。
3程式設計開發
3.1開發程式的環境
開發系統軟體之前需要對開發軟體的環境充分了解,搭建好環境才能夠開發系統軟體,主要包括JDK安裝、AndroidSDK安裝、myEclipse安裝、ADT安裝、建立AVD。
3.2建立新程式
(1)點開Eclipse、檔案新建、工程,會呈現新的提示框,然後點選安卓工程、下一個專案,輸入工程名稱,選擇需要設計的平臺,然後輸入應用包名稱和程式名稱,然後開啟LevelAc-tivityjava,會顯示錯誤提示,主要就是由於會形成自動預設語句,但是系統中沒有主頁。解決上述問題的基本方式就是,新建xml檔案,選擇安卓xml檔案,點選下一個,輸入main檔名,選擇Layout檔案資源,然後點選Finish完成建立。
(2)開啟Windows中的AndroidSDK以後,選擇符合實際情況的模擬環境,然後點選NEW按鈕,出現提出輸入名稱的對話方塊,選擇設計預期平臺,然後點選CreateAVD以後關閉系統。點選Run選單中的Configurtions,建立新檔案輸入名稱,選擇新建的檔案點選OK和APPLY按鈕,然後對DONothing專案點選Run按鈕,完成工程建立。
(3)新增標頭檔案。安卓軟體開發的時候Java語言是最重要的關鍵技術,需要完全瞭解C++語言程式設計,安卓資料開源性系統,已經具備一些相對成熟的功能,實際操作設計的時候可以直接應用,基於此能夠更方便進行程式設計。
(4)SQLite操作資料庫技術。Android為系統提供SQLite資料庫,一般都是適合應用在比較小裝置上,但是能夠擁有強度功能,資料庫能夠管理所有資料,名稱為SQLiteOpenHelper的資料庫包,直接對Java檔案進行復制,工程選擇右鍵貼上。
4測量軟體中應用安卓系統的設計
應用軟體開發的時候,開發的關鍵就是資料儲存。安卓系統中儲存資料的基本方式就是SQLite資料庫、系統配置、檔案儲存、網路儲存等。檔案儲存、SQLite資料庫、系統配置主要就是依據測量軟體來儲存系統內部資料資訊。安卓系統為了能夠不斷簡化資料庫,具備兩種操作方式。第一,SQLiteDatabase類,這種方式主要就是封裝資料庫系統的API函式,封裝資料庫系統包括執行SQL指令、query、、等操作。資料系統中,依據外業測量資料安卓系統能夠記錄相應特徵,依據不同功能建立四個表,所有的表都具備相對應的資料功能,依據特定欄位合理連線每張表。利用pointid方式對水準路線記錄表、導線記錄表和座標記錄表進行連線。座標記錄表中能夠儲存結算以後控制點位置資訊,利用從Ctrlpoint來區分不同未知點和已知點的資料資訊。依據poin3id、point2id、point1id來記錄已知點座標就是交會記錄表,能夠搜尋座標記錄。交會測量的時候需要分析兩種方式測角交會和測邊交會。實際應用測量軟體的時候至少需要存在三個控制點資料資訊,設計所有欄位的時候需要依據實際情況來合理設定交會測量的四個欄位,right2data、right1data、left2data、left1data,此外,還應該測量複用儲存角和複用儲存邊。上述四個結構記錄表中,不但需要具備coordinate表,還需要具備area欄位,從而來達到區分以及查詢每張表和區域的關係。如果coordinate表中沒有合理設定area欄位,分析不同條件情況下劃分控制點座標的測量區域存在不同的情況,從而來防止測量外業資料的時候出現混淆。在實際測量軟體中應用安卓系統能夠抽象出現FeatureObject,依據上述資料資訊可以形成三個派生類,水準路線類Levobject、交會類corobject、導線類Troabject,其中主要包括一個或多個類構成,透過高程、平面座標構成的是座標點類SurPoint。也就是說測量軟體中應用安卓系統來使用資料庫的時候,主要就是傳遞資料的時候把抽象物件作為傳輸引數,並且這種技術能夠在不同座標點上執行相同的資料操作,以便於能夠降低系統中傳遞引數的個數,也能夠簡化其他呼叫資料庫,可以在一定程度上避免過於複雜的資料,方便工作人員進行維護,此外,抽象物件還能夠傳遞其他模組模組資料,以便於不斷擴充套件系統。
5測量軟體中安卓系統的具體應用
測量軟體中應用安卓系統的時候,使用者選擇執行以後就夠十分快速的進入到主操作介面,一般情況下測量外業工作資料的時候都具備比較一致的記錄資料表格,因此為了能夠更加方便的進行記錄資料,利用以上方式來設計表結構,設計記錄資料主頁面的外業測量水準線路記錄格式、導線測量記錄格式。外業測量過程中充分分析單一導線,利用導線前進方向可以把水平較分為右角和左角,因此實際應用測量軟體愛你的時候需要適當調節右角和左角選項。交會測量系統資料後,設計側邊和側角兩種交會型別,利用交會測量設計型別來合理選擇和記錄距離和角度,並且需要能夠隨時切換上述兩個選項,此外,透過具體分析交會測量實際資料和相關規範需求,需要具備三個已知交會點,因此,設計輸入介面的時候,應該設定四個水平角或者三個距離輸入選項。不管是交會測量記錄表、導線記錄表,還是水準記錄表,完成每一次資料測量以後,都需要核算測量資料。例如,測量水平角或者測回紅黑麵讀數差或者上下半測回差值,實際操作的時候需要對專案進行嚴格規範,如果出現超過限制的測量結果,系統會提示警告。完成交會記錄測量的時候,相關人員需要依據實際情況來計算導線平差和交會測量型別,此外,依據查詢和檢測座標記錄表來詳細瀏覽和規範系統目前測點座標和控制點座標,以便於保證能夠平穩執行安卓系統測量軟體。安卓系統測量軟體設計的藍芽傳輸資料模組主要就是依據BluetoothAdapter類,利用計算機和終端裝置中的計算機記錄表接收資料和傳輸資料。基於此裝置中能夠接收和傳輸文字、表格形式的計算結構和記錄表,這種方式能夠在一定程度上方便傳輸測量結果,為以後儲存和瀏覽資料提供參考依據。
6結束語
綜上,在分析安卓系統測量軟體的時候,不但需要計算機和移動終端、移動終端之間進行接收和傳輸資料,實現單一導線測量外業記錄、水準線路測量外業資料、交會測量外業資料的目的,此外,在具體分析外業測量實際需求的基礎上能夠細化設計系統功能,實際設計測量軟體的時候需要使用安卓系統來分析和管理測量資料,這種測量方式不但能夠方便人員操作移動終端,還可以最大限度降低工作量,達到無紙化操作記錄的目的。
談安卓系統的測量軟體開發技術論文 篇2
1.1課題背景
隨著行動通訊與Internet向移動終端的普及,網路和使用者對移動終端的要求越來越高,而Symbian,Windows Mobile,PalmOS等手機平臺過於封閉,不能很好的滿足使用者的需求,因此市場迫切需要一個開發性很強的平臺。經過多年的發展,第三代數字通訊(3G)技術活動了廣泛的接受,它為移動終端使用者帶來了更快的資料傳輸速率。隨著3G網路的使用,移動終端不再僅是通訊網路的終端,還將成為網際網路的終端。因此,移動終端的應用軟體和需要的服務將會有很大的發展空間。Google為此與20xx年11月推出了一個專為移動裝置設計的軟體平臺——Android。
Android 是一套真正意義上的開發性的移動裝置綜合平臺,它包括作業系統、中介軟體和一些關鍵的平臺應用。Android 是由Linux+Java構成的開源軟體,允許所有廠商和個人在其基礎上進行開發。Android平臺的開放性等特點既能促進技術(包括平臺本身)的創新,又有助於降低開發成本,還可以是運營商能非常方便地制定自己的特色化的產品。因此,它具有很大的市場發展潛力。
根據中國網際網路資訊中心(CNNIC)釋出的《第22次中國網際網路絡發展狀況統計報告》顯示,截止2008年6月底,我國網民數量達到了2.53億,首次大幅超過美國,網民規模躍居世界第一位, 其中手機網民達到7305萬,手機上網成為網路接入的一個重要發展方向。
1.2相關技術的發展現狀
1.2.1手機作業系統的發展現狀
Palm OS是一套專門為掌上電腦編寫的作業系統,是一種輕量級、比較開放的作業系統,佔用的記憶體非常小,允許使用者在其基礎上編寫和修改相關軟體,是支援的應用程式更加豐富多彩。Plam 在其它方面也還存在一些不足,如Plam作業系統本身不具備錄音、MP3播放功能等,但是可以透過加入第三方軟體或硬體裝置來實現。其代表性的產品有Palm m505、Palm m500、Palm III等。
Symbian是一個實時性、多工的純32位作業系統,具有功耗低、記憶體佔用少等特點,非常適合手機等移動裝置使用,經過不斷完善,可以支援GPRS、藍芽、SyncML以及3G技術。
Windows mobile系列作業系統是從微軟計算機的Windows作業系統上變化而來的。Windows mobile系列作業系統功能強大,而且支援該作業系統的智慧手機大多數都採用了英特爾嵌入式處理器,主頻比較高,在其它硬體設定(如記憶體、儲存卡容量等)上也採用其他作業系統的智慧手機要高出許多,因此效能比較強勁,速度比較快。Windows mobile系列作業系統包括SmartPhone以及Pocket PC Phone兩種平臺。Pocket PC Phone主要用於掌上電腦型的智慧手機,而SmartPhone則主要為手上智慧手機提供作業系統。
Linux系統是一個原始碼開放的作業系統。由於其開源性,手機制造商可以根據實際情況開放自己的Linux手機作業系統,從而也能夠吸引更多的軟體製造商在其上開發更多的應用軟體,豐富第三方的應用。但是Linux作業系統也還存在一些不足,整合開放環境和基於Linux的產品與PC的連線性比較差等。
1.3論文組織結構
本文首先分析了系統的研究背景,介紹了當前手機作業系統、即時通訊軟體的發展現狀和即時通訊協議,以及本文的主要內容。
第二章,介紹了Android的特徵、Android的架構以及Android應用的構成和工作機制,並對Android與其它手機作業系統進行了比較,說明了Android的優勢。
談安卓系統的測量軟體開發技術論文 篇3
針對有關Java語言的安卓手機軟體開發,本文將從Java語言的特點、安卓手機架構、Java語言安卓手機軟體開發的優勢上進行簡單的分析。
隨著社會的發展,科技創新的腳步越來越快,安卓系統的智慧手機也慢慢成為人們日常生活中必不可少的物品。Java語言是安卓手機軟體開發的基礎,甚至在 Android系統中也用到了Java語言核心類庫中大量的類。之所以要開發安卓軟體,不僅僅是因為隨著時代進步、科技發展,人們對資訊的需求強烈,更是因為手機市場的競爭所致。建立標準化、開放式的通訊軟體平臺是獲得行業競爭力優勢的關鍵。
一 Java語言的特點
安卓應用的開發語言是Java語言,因此分析安卓手機軟體的開發,應先認識Java語言。它是計算機語言中發展得最快的。概括起來Java語言具有以下幾個特點:
第一,Java語言具有面向物件的特點,比較易於被人們所理解。現實中任何實體都可以看作為物件,並歸屬於某類事物中,也就是說任何物件都是某類事物的事例。如果將傳統的程序式程式設計語言解釋為以過程為中心以演算法為驅動的一種“演算法+資料”的程式編寫語言,那麼面向物件的Java語言則可以說是以物件為中心以訊息為驅動,是“物件+訊息”的程式語言。Java語言具有很強的封裝性。所謂封裝,就是用一個自主式框架把物件的資料和方法連成一個整體。面對物件的封裝性、多型性和繼承性,使Java語言的互動功能越來越成熟。
第二,Java 語言具有可靠性和安全性的特點。Java語言最初設計目的是應用於電子類消費產品,因此可靠性要求較高。Java語言雖然源於C++語言,但它克服了許多 C++語言的不可靠因素。如顯式的方法宣告可以確保編譯器發現方法呼叫錯誤;不支援指標,可以防止記憶體的'非法訪問;自動單元收集可以避免記憶體丟失等導致的問題;直譯器執行實時檢查可以發現數組和字串訪問是否越界等,都保證了Java語言的可靠性。Java語言透過自己的安全機制還可以防止病毒程式的產生,減輕下載程式對本地系統的威脅、破壞。在解碼器內還有位元組校檢器進行檢查,來自網路的類則由類裝載器負責裝載到單獨的記憶體區,避免應用程式之間的相互干擾。這些機能使Java語言成為安全的程式語言。
第三,Java語言具有體系結構獨立的特點。以往所通用的程式語言都有隻能在統一體系的計算機結構中執行的弊端。而Java語言的執行與計算機結構無關,在任何系統中都可以隨意執行。
二 安卓手機的架構
Java語言的安卓手機基本架構包括應用程式、應用程式框架、程式庫、執行庫和資料庫。首先是應用程式。安卓手機軟體會跟同一系列的核心應用程式一起釋出,它包括一些客戶端,短訊息程式,日曆、地圖、瀏覽器等管理程式。Java語言是安卓手機程式的編寫工具,大大提高了安卓手機互動的可能性。應用程式框架是指開發人員訪問核心應用程式所使用的主要框架。框架的設計簡化了一些元件的重用頻率,在遵循框架安全性原則的前提下,一個程式任何時候都可以釋出可供任何其他的應用程式使用的功能塊。框架的重組機制還為使用者替換程式元件提供了便利。安卓手機軟體的資料庫與其他系統的資料庫相比有著極大的優點,更易於管理,更新方便快捷,因此Java程式語言的安卓手機應用軟體可以更好地滿足使用者需求。
三 安卓手機軟體開發的優勢
在科技資訊化時代,安卓手機軟體開發具有明顯的優勢。首先,安卓手機軟體的開發有強大的谷歌作為後盾。其次,開放軟體開發的元件,可以讓第三方的開源社群方便快捷地開發眾多實用的Android應用程式。而且與手機行業中最具影響力的龍頭公司聯盟,並建立標準化、開放式的通訊軟體平臺,程式的可移植性好就變成了安卓手機的優勢。當前,由於手機作業系統的不同而造成手機間檔案格式錯亂,資訊無法順利流通的問題很普遍,如今只要使用安卓作業系統平臺,就基本不受硬體裝置的限制。另外,安卓手機的廣闊發展前景也是軟體開發的優勢。在中國市場,安卓系統非常熱銷,還推出了安卓手機軟體其他的一些產品。根據資料分析,到目前為止全國已經有23多億部的移動裝置使用安卓軟體,手機就約佔60%。安卓系統的廣泛應用,將會吸引越來越多致力於開發網際網路線上傳播解決方案的運營商,開發和推廣更多功能更強的安卓手機軟體。而且隨著Java語言的升級換代,Java語言的安卓手機軟體開發也將持續不斷髮展。
四 結束語
Java語言的安卓手機軟體開發為社會進步和人們生活方式的改變做出了無可比擬的重要貢獻。安卓手機應用軟體的服務範圍已涵蓋到商城、酒店、汽車、醫療、地產、旅遊、美容、服裝、傳媒、娛樂等產業,人們的通訊、購物、學習和生產生活都離不開Java語言的安卓手機軟體帶來的便利。就目前來說,我們國家手機軟體開發正處於高速增長的階段,今後還需持續不斷地進行研究和探索。
談安卓系統的測量軟體開發技術論文 篇4
現在人們生活、學習與工作已經離不開了智慧手機,手機現在不僅是通訊工具,手機的功能現在越來越強大,尤其智慧手機的開發與使用,現在已經改變了人們生活方式,利用手機可以學習、可以娛樂、可以購物等。智慧手機的普及是計算機網路技術、通訊技術發展的必然結果。智慧手機的普及人們越來越關注手機的安全性,關注安卓手機軟體,如何開發安全穩定的安卓手機軟體是智慧手機發展的有效保障,軟體開發的效能,影響智慧手機的發展,提高軟體開發質量,是保障智慧手機有效發展基本保障。
1安卓軟體應用程式
安卓手機應用程式負責手機執行等工作,是智慧手機的重要組成部分,在手機應用過程中,軟體程式起到重要作用,與硬體相輔相成,是對硬體功能實現的體現形式。一般比較簡單的安桌應用程式主要由Activity,ContentProvider,Service,Intent等部分組成,其中Activity相對於其他的應用程式對話方塊或者其他的網路應用程式的頁面視窗來說,安桌手機提供多個使用的資料儲存,同時他也被設計成為獨立的可以保持自己在後臺執行的服務,Intent是在執行的時候自動儲存的機制,用來具體的描述一個程式想要作一件什麼事情、從一個活動跳到另外一個活動,對於Intent來說,各個活動之間的切換是很方便的。智慧手機使用者使用方便,功能強大是使用者追求目標,智慧手機應用改變了人們生活方式,提高了人們工作效率,科技水平進步,改變了人的生活軌跡。
2安卓手機軟體的架構
2.1應用程式
應用程式是對智慧手機軟體功能實現的完好補充,應用程式也是對智慧手機硬體功能實現的體現。安卓手機軟體會跟同一系列的核心的應用程式一起釋出,該應用的程式還包括一些客戶端,短訊息的程式,日曆、地圖、瀏覽器等等的管理程式。智慧手機功能實現都是利用應用軟體實現的,應用軟體都是開發人員利用Java語言編寫的,Java語言是編寫智慧手機軟體的最好工具,其互動性是實現智慧手機軟體功能的基本保障。
2.2應用程式的框架
智慧手機應用軟體在出廠時候具有一定的框架,每個品牌,同一品牌不同型號手機都有自己的框架,應用程式開發人員根據框架進行編寫應用程式,編寫應用程式模組的基本工具都是Java,Java語言本身具有框架技術,利用框架技術編寫應用程式提供了可能,因此,Java語言是智慧手機應用程式編寫的最好工具。
2.3程式庫、執行庫
程式庫與執行庫都是智慧手機中的固化程式,手機出廠時候就有開發商固化手機核心裡面,設計者根據使用者需求,在智慧手機裡固化程式塊,提高了手機使用者方便使用,智慧手機使用者使用方便,功能強大這是智慧手機受使用者歡迎的主要原因,其中主要是程式庫與執行庫起到的核心作用。
3Java語言的特點
3.1面向物件
軟體開發程式設計語言選擇一般都是選擇面向物件開發工具,面向物件設計語言使用者與系統能更好的互動,Java程式設計語言互動性比較好的語言,在進行軟體開發過程中,程式設計師一般首選面嚮物件語言。所有面向物件語言都具有封裝、繼承、多型三個重要特徵,面嚮物件語言具有面向過程語言一些基本特徵,利用面嚮物件語言進行軟體開發,一般都能很好的利用面嚮物件語言三個基本特徵,利用面嚮物件語言基本特徵解決軟體開發過程中的實際問題,對能更好的開發有效軟體提供有力的技術支援。
3.2可靠性和安全性
智慧手機使用者要求安卓系統軟體必須安全可靠,這是智慧手機使用者最基本的要求,Java程式設計語言開發軟體具有一定的可靠性與安全性,因此安卓系統軟體開發首選開發工具Java。
4安卓手機軟體系統的開發優勢
安卓手機軟體系統開發是智慧手機發展需要,也是社會發展需要。智慧手機使用者與日俱增,在中安卓系統掀起的浪潮讓越來越多的企業認識到移動裝置對於中國產業的影響,企業安卓客戶端的開發也受到了企業的一些關注,目前來說我們國家手機軟體開發正處於高速增長的階段經過一路的研究和探索和經驗的總結,湧現了一大批的致力於開發的網際網路的線上的傳播的解決的方案的主要的運營商,主要是將手機應用軟體的開發和推廣,移動互聯應用開發以及涉及安卓的手機平臺,智慧手機的應用開發的服務已經涵蓋了很多的地方。
5結語
總之,基於Java語言的安卓手機系統軟體開發是有廣泛的應用前景,現在全球智慧手機使用者日益增多,智慧手機基本都是安卓作業系統,人們對系統軟體要求越來越高,都希望安卓系統軟體安全可靠,具有一定的應用價值。
談安卓系統的測量軟體開發技術論文 篇5
1. 引言
隨著手機的普及以及手機應用的深入人心,近幾年“智慧手機”成為了人們關注的話題。在現今這個智慧手機系統群雄紛爭的時候,2008年Google推出了一款名為Android的開源智慧手機作業系統。Android憑藉其開放性和良好的人機介面,受到廣大手機生產商的重視。
Android是基於Linux平臺的開源手機作業系統的名稱,該平臺由作業系統、中介軟體、使用者介面和應用軟體組成,而且不存在任何以往阻礙移動產業創新的專有權障礙,號稱是首個為移動終端打造的真正開放和完整的移動軟體。
從Android的從業角度分析,Android的開發概括為兩類:一是系統開發,包括低層linux核心的裁剪和擴充套件,硬體驅動的開發和系統移植等,從業人員主要工作在硬體廠商的公司裡:而是應用開發,主要包括遊戲開發、Android網際網路客戶端開發和工具軟體開發等。隨著使用者群體的不斷壯大,Android系統有望成為手機作業系統的“Windows”所以Android應用開發應用需求將非常大。
2. 研究背景
2.1 Android的前世今生
Android平臺是開放手機聯盟為創造一代更好的行動電話而合作開發的產品。該聯盟由谷歌領導,成員包括移動運營商,手機裝置製造商,元件製造商,軟體解決方案和平臺供應商以及銷售商。從軟體開發的角度,機器人立足於開源世界。
市場上第一款基於Android系統的手機G1由HTC製造並供應給T - Mobile用於銷售。然而,該裝置從放出風聲到真正釋出,用了大概一年的時間,因為釋出的sdk補丁累計了一年才使唯一的軟體開發工具變得可用。隨著G1釋出日期的臨近,Android團隊釋出了SDK1.0,為新的平臺而設計的應用也開始浮出水面。
為了鼓勵創新,谷歌贊助了兩輪“Android開發者挑戰大賽”,並提供了數百萬美元的獎勵。在G1釋出後的幾個月,谷歌釋出了Android市場,它允許使用者直接在自己的手機上瀏覽和下載應用程式。大約過了18個月,一個新的移動平臺進入了公眾的視野。[3]
2.2 Android簡介
Android是基於Linux核心的軟體平臺和作業系統,早期由Google開發,後由開放手機聯盟Open Handset Alliance開發。它採用了軟體堆層software stack,又名以軟體疊層的架構,主要分為三部分。低層以Linux核心工作為基礎,只提供基本功能;其他的應用軟體則由各公司自行開發,以Java作為編寫程式的一部分。另外,為了推廣此技術,Google和其它幾十個手機公司建立了開放手機聯盟。Android在未公開之前常被傳聞為Google電話或gPhone。大多傳聞認為Google開發的是自己的手機電話產品,而不是一套軟體平臺。到了2010年1月,Google開始發表自家品牌手機電話的Nexus One。
2.3 Android開發工具
Android的上層應用程式是用Java語言開發的,同時需要基於Dalvik虛擬機器,所以Google公司推薦使用主流的Java繼承開發環境 Eclipse。有了Eclipse還不夠,因為使用Java語言進行開發,應該有由SUN公司提供的Java SDK,其中包含了JRE:Java Runtime Environment。另外,Android的應用程式開發還是和Java開發有一定區別,所以還需有一個Google提供的Android SDK。
2.4 Android應用程式特點
Android系統是一個強大的智慧機系統,與之相適應的硬體也一般具備相對較高的效能。總結起來,Android系統上的應用程式具有以下一些特點:
(1).功能強大。Android平臺的裝置一般都具備較強的運算能力、儲存空間、網路功能以及各種各樣的感測器。
(2).可複用性強。Android的應用程式由許多Activity組成,不同的Activity在程式中實現不同的功能模組。而最令人讚歎的就是,得益於Android的良好設計,不同應用程式之間的Activity可以實現共享(可以透過安全選項進行配置)。這就實現了良好的複用性。[6]
(3).開放程度高。“開放”是Android的設計宗旨之一,開發人員可以自己編寫程式替代系統中原有的程式,甚至連撥號、簡訊、主螢幕這樣的核心功能都可以由第三方開發人員的程式替代。
3. Android上的應用程式開發概要
3.1 Android應用程式的組成部分
Android 有豐富的功能,是一個分層的環境,構建在 Linux 核心的基礎上,包括豐富的功能。
Android 應用程式是用 Java 程式語言編寫的,它們在Dalvik虛擬機器中執行。每個 Android 應用程式都佔用Dalvik VM 的一個例項,這個例項駐留在一個由 Linux 核心管理的程序中。
Android應用程式是由Android體系結構定義的四個基本組成部分型別構成,:
(1) Activities 活動
這些都是在臺式機媲美獨立的系統,如辦公應用軟體。Activities是實時可執行程式碼,當用戶或作業系統和執行需要時即被實體化。他們可以透過其他Activities或透過查詢或意圖服務與使用者互動和請求資料。Android的大多數可執行程式碼將執行寫在一個活動的環境中。活動通常對應顯示屏:每個活動顯示一個螢幕給使用者。當它執行的不積極,活動可以結束執行的系統來節省記憶體。
(2) Services服務
與桌面和伺服器作業系統守護程序相似。服務元件在後臺執行,直到手機關機。他們一般不公開使用者介面。
MP3播放器是一個服務的典型例子,需要一直處理等待處理的的檔案,甚至當使用者已經在使用其他應用程式。即使沒有一個使用者介面仍然存在,應用程式可能需要實現服務來執行。
(3) Broadcast and Intent Receivers廣播接收機和意圖
這些服務請求的響應另一個應用程式。一個廣播接收機響應一個事件。這些廣播可能來自Android本身(如電池低),或從任何在系統上執行的程式。一項活動或服務提供了訪問其功能的介面是透過執行一個意圖接收器,一段響應資料或其他活動的服務要求的可執行程式碼。廣播接收器會自動地啟動應用程式來響應某個到來的Intent,這個特點使它們成為了事件驅動的程式的最佳選擇。
意圖,一個簡單的訊息傳遞框架。使用Intent,可以在系統範圍內向目標活動或者服務廣播訊息,以說明希望執行某個動作的意圖。之後系統就會確定那些最適合執行動作的目標。
(4) Content providers內容提供程式
一個可共享的資料倉庫。每一個內容提供器都開放一個唯一公共URI(由URI封裝)。例如,當應用程式發出一個通訊錄資料的查詢,它涉及到一個URI查詢的形式:
內容:/ /聯絡方式/人
該作業系統查詢內容提供者給定的URI,併發送請求到相應的應用程式(如果尚未執行,啟動應用程式)。如果有多個內容提供商請求的URI登記,系統會詢問使用者哪一個是想要的。
應用程式不必使用所有的Android元件,但是一個好的應用程式會使用所提供的機制,而不是硬編碼重塑功能或引用其他應用程式。 URI和意向一起讓Android提供了非常靈活的使用者環境。應用程式可以很容易地新增,刪除和取代意圖而URI使其聯絡在一起工作。
Android 應用程式是連同一個 AndroidManifest.xml 檔案一起部署到裝置的。AndroidManifest.xml 包含必要的配置資訊,以便將它適當地安裝到裝置。它包括必需的類名和應用程式能夠處理的事件型別,以及執行應用程式所需的許可。例如,如果應用程式需要訪問網路如為了下載一個檔案, 那麼 manifest 檔案中必須顯式地列出該許可。這種顯式宣告有助於減少惡意應用程式損害裝置的可能性。
3.2 儲存和返回資料
Android提供了很多種類的儲存機制以及網路服務。在Andriod應用程式中有幾種不同讀寫資料的方法。可以根據需求選擇。
在Android中,所有的應用程式資源對自身而言是私有的,但是並不是說,其它程式就無法與之共享資料了。在Android中,可以透過提供一個標準的方法來使得其他的應用程式訪問這些私有的資料,那就是ContentProvider。除了這一種方法,還有其它的方法也可以使用,例如Prefrences、Files、Databases、Network等。完全可以根據開發人員的需求來作選擇。
3.3 安全模式
在Android中,為了使用應用程式更加地安全,Android增加了安全模型來操作資源和資料的特徵,這是透過許可權設定來決定的。Android是一個多程序系統,在此之中,每個應用程式都在自己的程序中執行。大多數的應用程式之間的安全模式設定和標準的Linux系統相一致,例如給各個應用程式分配不同的UID。
3.4 Andriod中的安全架構
Android安全結構的一箇中心設計思想是,在預設情況下,沒有任何應用程式可以對其他的應用程式、其他的使用者進行操作。一個應用程式的程序就是一個安全的沙盒,它不會打擾其他的應用程式。它所要請求獲得的許可權在安裝時使用者就可以知曉,並且安裝之後程式也無法改變自己的許可權。
3.5 Android Binder 總結
Android IPC系統的整個架構如上圖所示,分為4大塊:
(1) Binder驅動
它是IPC系統的核心。它在Serivce提供者與Service使用者之間傳遞資料
(2) Service提供者(Service Provider)
它提供某種服務。它解析從Binder驅動發過來的RPC資料並且執行真正的動作
(3) Service管理器(Service Manager)
它是一個特殊的Service提供者。它為其它Service提供者提供Service管理服務。
(4) Service使用者(Service User)
它遠端呼叫Service提供者。它生成RPC資料並且傳送到Binder驅動。
3.6 資源和i18n(國際化)
Android中也提供了應用程式資源管理系統,這些資源通常包括影象,字串,以及XML佈局檔案等等。這些資源在編譯期間會以不同形式被編譯到應用程式中。例如XML檔案會被編譯成一個二進位制程式碼,String被壓入一個更加有效率的儲存表格中。透過對不同語種的String資源分別管理,就可以很方便地實現i18n。
4.總結
Android市場尚在培育和發展中,在政策、廠商、消費者、開發者的共同努力下,圍繞著Android的生態圈將逐漸成型並進入良性迴圈階段,對它關注得越早,就越有可能在將來搶得先機。
談安卓系統的測量軟體開發技術論文 篇6
【摘要】主要介紹基於安卓系統手機WiFi的家用智慧遙控器客戶端的開發。透過在安卓手機上開發遙控器介面,並載入多個不同品牌不同型號裝置的遙控器指令資料包,藉助WiFi轉紅外模組譯碼成與家電相匹配的紅外訊號,使實物遙控裝置資料化,實現“一個家庭只需一個遙控器”的目標,為人們提供一個智慧舒適、環保節能的居家環境。
【關鍵詞】安卓系統;WiFi;紅外遙控
一、引言
由於紅外遙控器價格低廉、技術成熟等優點,許多智慧家電裝置仍普遍採用紅外遙控器進行控制,包括電視、空調、DVD機、電視機頂盒等等。然而,隨著家庭中智慧家電裝置的增多,紅外遙控器數量也在增加,一個家庭使用的遙控器數量少則數個,多則十幾個,這會帶來三大問題:
(1)數量眾多的遙控器給使用者帶來使用和管理上的不便;
(2)紅外遙控器使用的一次性鹼性電池,廢棄後給環境帶來極大的危害;
(3)遙控器意外損壞後,很難找到匹配的遙控器。
基於安卓手機WiFi的家用智慧遙控器,可同時控制多個不同品牌不同型號的家用電器,取代傳統的實物遙控器,實現“一個家庭只需一個遙控器即可控制所有紅外遙控的家電裝置”的目標,極大減少遙控器數量和一次性電池的使用量,為人們創造便捷舒適、環保節能的居家環境。
二、系統的結構
整個系統主要包括客戶端軟體、WiFi轉紅外模組,客戶端軟體透過WiFi,將已編碼的資料透過WiFi傳送至WiFi轉紅外模組,然後WiFi轉紅外模組根據編碼規則,傳遞指令至內部紅外發射模組,實現紅外資料的傳送。
(一)家用智慧遙控器客戶端的構成
1.鍵碼資料包的採集與設計
(1)鍵碼資料包的採集
紅外遙控器的編碼格式通常有NEC。
NEC格式的特徵:使用38kHz載波頻率,引導碼間隔是9ms+4.5ms,使用16位客戶程式碼,使用8位資料程式碼和8位取反的資料程式碼。
隨著家庭電器種類、型號的不斷增多,相對應的遙控器也隨之增加,為了便於管理、存取與更新家電遙控器的紅外程式碼,需要為繁多冗雜的程式碼建立一個數據包。
(2)遙控器按鍵資料包的設計
由於紅外協議各不相同,並且又相互不相容,所以直接傳送紅外資料會導致WiFI轉紅外模組處理十分繁瑣。因此,收集多種紅外協議資料,按照自定義編碼規則,將多種協議編碼化,並保存於後臺資料庫。
為了實現按鍵介面與遙控器資料包的匹配,定義資料包格式如下:
檔案起始標誌位4位。
鍵碼屬性128位:裝置的資訊,訪問中文字型檔編碼、ASCII碼。
載波頻率4位:35-42kHz;解析度0.5kHz,以適應不同載波的遙控器。
鍵碼編碼:對遙控器介面軟體的所有按鍵進行編碼,鍵碼位數根據實際紅外協議確定。
2.遙控器介面軟體的設計
(1)資料庫設計
安卓作業系統採用標準SQLite資料庫,提供管理資料庫相關的API。利用SQLiteOpen Helper類中的onCreate,Call Back方法以及onUpdate,Call Back方法建立與開啟各種遙控器紅外程式碼表Table,存進資料庫中,方便資料的及時更新。
(2)按鍵與資料包匹配
在手機介面中,每個按鍵都與其相對應的紅外程式碼相匹配,即按鍵功能與資料庫中各種遙控器資料相連線。透過呼叫getReadable Database,方法當用戶按下按鍵時,軟體會查詢資料包,將與該按鍵相連的資料包資料,即相對應的控制家電的紅外程式碼以WiFi的形式傳送至WiFi轉紅外模組。
(二)WiFi轉紅外模組
本模組負責資料接收、紅外發射。包含WiFi資料接收與傳送、串列埠資料解析、紅外電平發射。採用WiFi晶片USR-WIFI232,提供WiFi訊號及獲得客戶端所傳送資料,再將資料透過串列埠傳送至中控CPU。
本模組內部採用微控制器作為中控CPU,處理編碼化資料與紅外協議的轉化。由於微控制器價格低廉,資源足夠,功能滿足中控CPU的需求,因此,採用微控制器作為中控CPU。在微控制器程式中設定多個紅外協議入口點,當編碼化的資料傳送至微控制器後,按照自定義的編碼規則,尋找對應的紅外協議入口,從而發射對應的紅外電平。
中控CPU功能硬體電路由微控制器最小系統及紅外發射電路成。在中控CPU程式中,包含定時器功能、串列埠資料讀取功能、紅外電平控制功能。中控CPU的程式流程圖如圖3。定時器功能主要是用於產生載波,並與紅外訊號疊加,從而提高紅外訊號在空氣中傳播的抗干擾能力。串列埠資料讀取,將WiFi晶片傳遞的資料加以分析,按照自定義的編碼規則,進入不同的紅外協議功能函式。紅外電平控制功能,實現具體的紅外協議函式,透過串列埠讀取功能提供的資料,發射出匹配的紅外訊號。
三、實驗測試
本次試驗採用專用的紅外測試儀器,可以監測到紅外訊號並將其波形顯示出來。採用安裝客戶端的安卓手機及WiFi轉紅外模組,對比於實物遙控器。將實物遙控器、WiFi轉紅外模組都對準紅外測試儀器。按下實物遙控器的某個按鍵之後,觀察紅外測試儀器顯示的波形,如圖3所示;接著按下安卓手機上對應的遙控器按鍵後,觀察紅外測試儀器上的波形。
由圖3、圖4可以看得出,安裝客戶端的安卓手機及WiFi轉紅外模組可以實現實物遙控器的功能。
四、結束語
本專案設計的執行在安卓手機上的新型遙控器,實測資料證明,其實現的功能與原配的實物遙控器效能一致,完全可以取代現有的各種實物遙控器,實現實物遙控裝置資料化,降低成本。由於它基於安卓手機平臺,具有成本低、擴充套件好、“一機多控”、環保、智慧等優點,作品成熟後,具有較高的市場應有價值。