0
首頁 公文范文 安卓開發論文

安卓開發論文

發布時間:2022-06-20 09:26:33

開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的1篇安卓開發論文,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。

安卓開發論文

安卓開發論文:安卓系統的手機定位軟件開發與設計

摘要:如今,手機的智能化及人性化已經成為手機發展變革的必然趨勢,無線通信技術、GPS定位技術的手機定位軟件應用也愈發成熟,為用戶提供了無盡的便利服。文章就基于安卓系統的位置信息服務探討了目前手機定位軟件在導游系統終端中的技術設計與開發,希望為用戶出行提供集旅游、購物、社交三位一體的綜合性信息平臺。

關鍵詞:安卓系統;LBS;手機定位軟件;智能導游;位置信息服務

位置信息服務即Location Based Service,簡稱LBS。通過由運營商所提供的無線通訊網絡或GPS等外部定位方式來獲取移動終端用戶的具體地理坐標信息,并在GIS等地理信息系統平臺的支持下,為用戶提供智能終端定位、智能導游等增值服務。具體來說,地圖定位、自動觸發景點多媒體信息、游覽軌跡信息和周邊服務設施信息都應該是LBS所涉及的服務范圍。利用信息化技術將游客、旅游實體、旅游實體管理者這3方聯系到了一起,并達成了交互的目的。也正是基于此系統,游客可以在出行期間得到更好的信息化服務。

1.安卓系統下LBS智能終端導游系統的關鍵技術闡述

位置信息服務LBS主要是基于3方技術來共同完成的,它們是來自于移動終端的定位軟件技術、網絡通信技術以及安卓系統。以下就一一闡述這3方下的具體關鍵技術特點。

1.1定位軟件技術

定位軟件技術是LBS智能導游系統應用中的關鍵優秀,一般起到功能作用的是Skyhook Wi-Fi定位系統和蜂窩基站定位系統,包括外部全球定位系統GPS。這幾項技術都通過天線向外部發送信號,并尋求距離自己最近的復數基站,通過它們的信號轉遞進行信號定位。而Skyhook Wi-Fi則運用到了固定熱點技術,它能直接與手機或其它智能移動終端的MAC地址相互綁定,實現對系統無線信號的接入,從而獲取用戶想要的地理定位信息。

另外,利用智能手機內部的微機電三軸加速傳感器也能夠實現對智能導游系統功能的應用。其功能實現原理是手機在空間坐標系中同時向3個方向軸上輸出加速度分量,并通過這3個方向的加速度積分計算來推導出空間三維速度和位置,為用戶提供準確的服務。

1.2網絡通信技術

網絡通信技術包含許多種,比如套接字通信,HTTP協議,增強現實技術等等。首先說套接字通信(socket),是網絡通信技術的基礎,能夠支持TCP/IP協議獲取最基本的網絡通信包,從而實現對客戶端服務器的連接,進一步獲取本地IP,本地DNS,遠距離IP及DNS。另外,安卓系統中的SDK、CFNetwork framewrok也能為基礎網絡通信接口提供網絡通信服務,實現遠程位置查詢。

而HTTP協議則提供了簡潔快捷的應用層技術,基于信息傳輸主體內容的實體、通信層與應用層之間的通信連接、HTTP所傳輸的消息內容、客戶端向服務器發送的內容請求、接受客戶請求時HTTP月艮務器端的響應以及由URI表示網絡服務中的資源來為LBS提供更好的網絡技術支持。

1.3安卓系統

安卓系統出現相對較晚,主要采用了軟件堆層的主題架構,并細分為3大部分,底層Linux內核、中間層函數庫Library及虛擬機,還有上層具體app應用軟件,它們都是由C語言、c++、JAVA等計算機語言所編寫的程序。

針對LBS來說,安卓系統中的Linux和Application Framework則更加關鍵。Linux主要為安卓系統提供優秀系統服務,是連接智能手機軟硬件系統的抽象層,并將二者細化分層。所提供的服務也是統一的,能夠屏蔽一些不相關層的信息,使各個信息層之間處于不關聯狀態。而Application Framework則是利用安卓系統中的開發應用程序來簡化手機系統結構,并將LBS中所需要應用的視圖、音頻等組件集合起來,允許用戶使用各個應用程序來訪問其它數據,這在智能導游系統中是十分重要的,即通過對系統資源的共享應用來實現手機定位。

2.基于LBS的安卓智能手機導游系統軟件設計

整體而言,基于LBS的安卓智能手機導游系統軟件應該包括優化了的封裝位置定位服務、高品質的網絡通信服務、實時的數據緩存服務以及其它一部分交互展示功能。正是這些關鍵技術的加入才豐富和提升了手機定位軟件的應用性能和運行效率。

2.1基于LBS的相關定位控件設計

2.1.1控件設計

BPLocation是LBS中一個較為重要的位置服務控件,它能夠創建uIAccelerometerDelegate與CLLocationManagerDelegate接口,通過它們實現對GPS位置信息的獲取。同時它也能計算GPS漂移數據量,實現對用戶運動軌跡函數的推算、區域檢測等等。近似于BPLocation類的相關函數種類眾多,文中簡單介紹3種:instance是典型的BPLocationManger類,它屬于靜態函數,能夠根據系統應用來實現XCBPLocationManger變量的獲得;LocationManager則通過設置DesiredAccuracy來獲取用戶的位置方向與具體信息數據;還有accelerometer,它是基于UIAcceIerometer抽象類的控件,它就是利用到了微機電的三軸加速傳感器,可以在用戶手機LBS軟件客戶端的x,y,z三個軸上實施加速度,進而計算用戶手機設備智能導游系統的運行速度,起到糾正手機內部GPS定位誤差的作用。

2.1.2設計應用

在具體應用中,LBS的相關控件會根據手機的位置實施運動軌跡的定位,可以實時記錄用戶的運行軌跡,一旦出現任何漂移,也能將這些偏差自動濾掉,這就是過濾偏移。過濾偏移共有2種方式:利用GPS歷史記錄確定偏移是否存在;再者就是利用計算機的運行速度和加速度來確定定位是否存在偏移,這種方法更加合理,而且精確度也有保證。

區域檢測也可以通過手機安卓系統檢測游客在所規定區域范圍內的運動軌跡,這是智能導游系統所慣用的技術。當游客離開規定區域時,系統會發送消息通知用戶,告知用戶的運行軌跡,比如一些用戶在跑步時會用到的計步軟件,它的檢測原理主要以規定區域中心點作為主要檢測中心,當用戶運動時,系統會為其與區域中心點做比較,所比較出的結果就是用戶以中心點為軸心的運動軌跡。

2.2基于網絡通信系統的相關模塊設計

就網絡通信系統模塊設計而言,主要將研究重心放在BPFormDataRequest和BPRequestQueue的設計上。BPFormDataRequest是BPHTTPRequest的子類,在擴展手機智能導游系統對POST的支持時,就要實現基于POST的所有位置數據請求參數設置和相關文件上傳,這樣才能發揮BPFromDataRequest的實際作用,明確數據24#的路徑和網絡通信模塊的所有通信接口。

相對而言,BPRequestOueue則銜承于NSOperationOueue模塊,它能夠管理并實現BPHTTPRequest的實時復數請求,同時也允許其對象在網絡環境中發送任何位置信息請求,它與普通的傳輸信息模塊是不同的,它對位置信息的確定性更強,而且嚴重依賴于圖像來定位如圖l所示。

如果客戶通過手機端創建BPHTTPRequest模塊,并發送信息請求,所發送的信息將以隊列形式等待響應處理,此時LBS也會監測定位信息的傳送狀態。當請求處理完畢,服務器端將會收到所返回的結果并做記錄,同時釋放用戶所要求的請求資源。

2.3基于UI視頻圖像交互展示技術的系統設計

手機智能導游軟件要實現對視頻圖像的交互展示,就必須基于展示模塊來設計UI。本文所介紹的是對定位軟件系統中原始UIImageYiew的擴展,即BPImageView的應用,能夠實現地圖類型數據的可視化分析,為智能導游系統提供更多的位置空間數據和可視化功能,以地圖和影像的形式展示出來。為了實現地圖、影像等數據的可視化,需要通過ARView模塊中的動態加載及流技術對地理位置信息進行強化。所以本文主要介紹了基于UI視頻圖像交互展示技術的系統設計,希望幫助手機實現對地理數據可視化信息獲取的功能強化。

2.3.1基于BPImageView模塊的網絡圖片加載設計

因為BPImageView是UIImageView的子類,所以應該實現其父類UIImageView對所有圖片顯示類以及圖片存儲數據的合理運用。這里采用的方法是利用BPImageView來接收setImageURL消息,然后引用基于BPImageLoader的可視化信息強化輸出方法。此方法可以達到查看網絡中緩存數據存在性的目的。如果數據存在,就說明它們可以直接以圖片的形式載入。如果數據不存在,則表示要再次通過BPImageLoader類進行loadlmage For URL數據的調用,重新加載圖片。

2.3.2 ARView視圖功能UI強化的設計

首先要說,ARView是具備2部分視圖的,它們是興趣點POI視圖和實施傳輸視頻流如圖2所示。

2個POI點視圖處于疊加狀態,這就可以確定POI的興趣點,如果以視圖表示POI,就可以了解到用戶對該POI點視圖的興趣度。這里采用一個叫做placesOfTnterestCoordinates的數組,通過四維向量來表示數組中用戶所記錄的興趣點坐標,這樣就可以利用系統來記錄用戶的位置信息,為用戶導航。

3.結語

基于安卓系統的手機定位軟件的開發與設計應該是全方位的,LBS位置信息服務的多角度設計理念也恰好迎合了這一點發展需求,讓手機智能系統更加人性化、系統化和精確化,特別是可視化與智能定位的巧妙設計應用也體現了它對于目前無線通訊服務的重要性。而且這種位置信息服務技術也切實地運用到了諸如旅游這樣的人類大型產業中,為社會發展贏取了一定的效率和效益。所以說,LBS技術是一種具有巨大潛能的,前景無限美好的現代化技術,也希望它可以應用到除旅游外的其它各個領域,發揮它的科技智慧,為人類造福。

安卓開發論文:基于安卓平臺的旅游社交軟件的設計與開發

摘要:自從安卓手機操作系統以來,它便以開放性、不受束縛、豐富的硬件、方便開發等優勢風靡全世界,我們利用安卓手機平臺,開發了一款旅游社交平臺軟件,該軟件采用安卓Sdk4.0進行開發,采用了C/S模式,可以節省網絡資源,簡單,易用,服務器端采用Java Web開發,數據庫采用了免費的Mysql。它可以給用戶提供你最想要的旅游欄目,讓你置身于朋友的海洋之中,從此出行旅游更加方便。

關鍵詞:Android平臺應用開發;旅游社交平臺

Android是一種基于Linux的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。大學生從高中升入大學,猶如一下子從“地獄”進入了“天堂”,有著大量的課余時間,但是往往他們無法合理利用,大多蝸居在宿舍里打游戲,費心勞神,因此開發一款基于安卓平臺的旅游社交軟件,幫助大學生走出教室,走出宿舍,到自然中,去鍛煉,去陶冶情操,最大程度的滿足他們旅游交友的需求。

1 基于安卓平臺旅游社交軟件的需求分析

這個平臺主要包括3個子系統,它們分別是:1)發起活動子系統;2)參加活動子系統;3)后臺管理子系統;4)活動分享子系統。如圖1所示。

在活動發起子系統中包括以下幾個功能:1)活動申請;2)活動信息管理;3)活動資料查詢;4)活動上報申請。

在參加活動子系統中包括以下幾個功能:1)活動參加;2)活動資料查詢;3)參加活動申請。

在后臺管理子系統中包括以下幾個功能:1)用戶管理;2)公告管理;3)權限管理;4)分類管理;5)系統維護。

在活動分享子系統中包括以下幾個功能:1)活動評價分享;2)活動圖片分享。

2 旅游社交平臺的總體設計

2.1 軟件總體設計

根據我們定義的需求分析,我們給出了旅游社交平臺軟件總體設計,客戶端運行在安卓手機上,服務器端運行在Tomcat上,數據庫采用Mysql數據庫,開發語言采用了最流行的Java語言進行開發,以下是整個軟件的整體架構圖,Android前臺界面負責數據的采集和展示,Android端HTTP組件負責將前臺界面采集到的數據封裝成HTTP協議發到Servlet上,Servlet負責接收HTTP協議的數據,然后解析,調用相應的業務方法,Server端業務層負責從數據庫中采取數據交給Servlet,Servlet把封裝的json數據再發到HTTP組件,HTTP組件解析數據,再發往前端進行展示,如圖2所示。

2.2數據庫設計

2.2.1 數據庫中所需的各種表

2.2.2 數據庫概念模型和物理模型的設計

設計數據庫時,我們可以采用sybase公司的powerDesigner來進行數據庫設計,使用powerDsigner工具設計時,首先設計數據庫概念模型圖,它的功能和數據庫E-R圖十分類似,好處在于,可以使用powerDesigner工具輕松的轉成數據庫物理模型,然后再借助powerDesigner工具可以很輕松的生成SQL語句,從而大大方便開發。

2.3 詳細設計

2.3.1 服務器端數據庫工具類設計

為了更好的和數據庫交互,減少開發工作量,我們對數據庫操作冗余的代碼做了一定的封裝。這樣就沒必要頻繁的寫JDBC代碼了,從而提高了程序內聚度。

2.3.2 各個業務Service的接口設計

接口在項目中就是一個業務邏輯,面向接口編程就是先把客戶的業務提取出來,作為接口。業務具體實現通過該接口的實現類來完成。當客戶需求變化時,只需編寫該業務邏輯的新的實現類,通過更改配置文件(例如Spring框架)中該接口的實現類就可以完成需求,不需要改寫現有代碼,減少對系統的影響。 采用基于接口編程的項目,業務邏輯清晰,代碼易懂,方便擴展,可維護性強。即使更換一批人員,新來的人依然可以快速上手。對于團隊來說,意義更大。

2.3.3 各個服務接口的實現

在設計好接口之后,我們就可以編寫程序來實現各個接口了。在這個過程中我們也體會到了協同工作的效率。我們幾個開發人員就可以并行的進行開發,然后再把代碼提交到Svn代碼管理工具上,從而很大程度上提高了工作效率。

2.3.4 各個服務所對應的Servlet的編寫

Servlet的主要功能在于交互式地瀏覽和修改數據,生成動態Web內容。這個過程為:1)客戶端發送請求至服務器端;2)服務器將請求信息發送至Servlet;3)Servlet生成響應內容并將其傳給服務器。響應內容動態生成,通常取決于客戶端的請求;4)服務器將響應返回給客戶端,如圖3所示。

一個servlet就是Java編程語言中的一個類,它被用來擴展服務器的性能,服務器上駐留著可以通過“請求-響應”編程模型來訪問的應用程序。雖然servlet可以對任何類型的請求產生響應,但通常只用來擴展Web服務器的應用程序。

2.3.5 GoGoGo數據編碼問題的解決

我們把安卓數據客戶端所獲取的數據通過HTTP協議傳送到服務器端,由Servlet來獲取數據,由于Tomcat默認編碼是ISO8859-1,因此在后臺獲取中文數據時會遇到亂碼。解決辦法是:1)要重寫HttpServletRequestWrapper下面的getParameter()方法,在這個方法對獲取到的數據,重新用UTF-8編碼。

2)在Filter中對每個請求過濾,調用HttpServletRequsetWrapper重寫的getParameter()方法,再把請求傳說出去,就完成了過濾請求,如圖4所示。

2.3.6 前臺和后臺數據交互的問題

Android前臺發送數據給服務器后臺應用程序(Servlet),Servlet處理后,要給前臺返回數據,數據格式如何選擇將是一個非常重要的問題,因為JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。易于閱讀和編寫,同時也易于機器解析和生成。所以我們采用了json作為前后臺數據交換的數據格式。

2.3.7 前臺向后臺如何傳送數據問題

我們編寫了一個HTTP數據傳送工具,負責Android前臺和Server后臺的數據傳送。因為是HTTP協議是基于TCP協議的,所在Android前臺和Server建立連接需要進行3次握手,連接建立成功后,才進行傳送數據。當釋放連接時,需要進行4次握手才能釋放連接,如圖5所示。

2.3.8 數據加密問題

一個優秀的軟件,在確保功能實現的同時,另外一個不得不考慮的問題便是如何保障用戶數據的安全,對于用戶重要的數據,我們非常有必要對其進行加密后再保存,現在比較流行的信息摘要算法有MD5和SHA1,對于這兩種算法,主流的編程語言都有對其實現,因此用起來方便又安全。

2.4 旅游社交平臺測試

軟件測試是軟件開發環節中非常重要的一環,軟件測試是幫助識別開發完成的計算機軟件的正確度、完全度和質量的軟件過程;是SQA的重要子域。它主要包括單元測試,集成測試,系統測試,還有驗收測試幾個大項。

2.4.1 單元測試

在單元測試環節中,Android端采用了Android自帶的單元測試工具AndroidTestCase,服務器端我們采用了Junit4測試工具,對每一個業務方法進行了測試,確保正確后才進行下一步開發。

2.4.2 集成測試

在單元測試通過的基礎上,我們將所有模塊按照設計要求組成子系統,進行集成測試,從而發現在單元測試中沒有發現的Bug,盡早的修改,降低項目風險,主要使用的測試工具是Selenium.

2.4.3 系統測試

在集成測試完成的基礎上,我們完整的對旅游社交平臺進行了系統測試,測試我們的功能是否達到了當初的設計要求,測試其容錯能力和恢復能力。

2.4.4 測試結論

系統功能的測試結果顯示,基于安卓平臺旅游社交平臺能夠正常使用。各功能都可支持,滿足了預期設計。

3 結束語

經過我們的努力,我們終于完成了一個簡易社交平臺的設計和開發,基本上滿足了當初的設計要求,能夠方便大學生的郊游和交友的需求,總之項目還是比較成功的,但是也存在著一些不足,比如在軟件架構設計上肯定達不到很高的水準,總之我們會繼續努力,爭取使其更加完美。

安卓開發論文:基于安卓智能系統的地形圖數據采集系統開發

[摘要]本文主要介紹基于安卓智能移動系統的大比例尺地圖數據采集系統,對系統的功能、特點、結構等進行論述。

[關鍵詞]安卓 數據采集 數字化測圖

1引言

現代科學技術的飛速發展,尤其是計算機技術的廣泛采用,使測繪技術發生了革命性的變化,從模擬階段轉向數字階段,數字化測圖已成為當今大比例尺地形圖測繪的主要方式。數字測圖野外測量自動記錄,自動解算處理,自動成圖,并能提供可處理的數字地形圖。目前,數字化測圖軟件、硬件已經得到的長足的發展,但野外現在草圖的作業方式效率依然較為低下;雖然現在已有電子平板、掌上平板等野外數據采集軟硬件設備,但是由于成本過高,電池續航能力不足等因素,而未能大面積推廣。為了使得野外數據采集更加高效,借助現代科技,利用安裝了安卓智能移動系統的設備(手機、平板電腦)體積小、便于攜帶,觸控方便、成本低的的特點,開發一套基于安卓系統的大比例尺地形圖測繪系統,對提高生產效率將起到積極的作用。

Android是一種基于Linux的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。安卓系統平臺具有以下特點:①開放性:允許任何移動終端廠商加入到Android聯盟中來,可以使其擁有更多的開發者;②豐富的硬件選擇:這一點還是與Android平臺的開放性相關,由于Android的開放性,它擁有千奇百怪,功能特色各具的多種產品。功能上的差異和特色,卻不會影響到數據同步、甚至軟件的兼容;③方便開發:Android平臺提供給第三方開發商一個十分寬泛、自由的環境,不會受到各種條條框框的阻擾,因此會有新穎別致的軟件會誕生;④Google應用:Android平臺能無縫結合優秀的Google服務,如地圖。本文針對用戶對大比例尺地形圖測繪簡易性和高效性的需求,介紹了基于安卓智能系統的大比例尺測圖系統的整體結構和基本功能。

2系統設計

2.1系統優點

基于安卓開發的地形圖測繪系統與便攜式計算機、平板電腦、工業級的PAD設備相比較具有以下優點:①體積小、重量輕、適合于野外工作的優點;②與便攜式計算機、工業級的PAD設備相比,價格便宜、成本低;③能耗較低,續航能力強,擁有與之配套的便攜式電源;④可觸屏繪制圖形,反應速度快,工作效率高。

基于安卓開發的地形圖測繪系統與測繪外業工作的適宜性特點:①超大屏幕:7英寸(1024×600 像素)或10英寸的屏幕,完全可以滿足地形圖測繪外業工作的需求;②CPU:雙核或四核,完全可以勝任地形圖測繪的野外數據采集任務;③攝像:可以現場錄制測繪現場的視頻,減少外業巡查,提高效率;④拍照:定點記錄現場觀測的信息,為內業數據處理提供現場影像資料;⑤錄音:記錄外業調查的語音信息;⑥GPS:提供導航定位功能,記錄一定精度范圍內定位信息,輔助踏勘工作;⑦WIFI:可以方便的接入網絡營運商提供的互聯網服務,傳輸非涉密數據;在局域網內快速的與網絡工作站交換數據,上傳數據到局域網服務器;⑧藍牙:驅動控制測量儀器、與測量設備交換數據、備份或恢復數據;⑨USB:驅動控制測量儀器、與測量設備交換數據、備份或恢復數據;⑩SD 存儲卡:大容量SD卡可用作軟件安裝和數據存儲。

2.2系統的數據流程

根據測圖系統中數據采集的特點,系統的數據流程,如圖1所示。

2.3系統結構

本地形圖數據采集系統是以智能平板電腦(或智能手機)為載體,在安卓平臺下使用Java 作為編程語言來開發的野外數據采集平臺,集數據、圖形、屬性采集、編輯于一體的外業數據采集系統。該數據采集系統具有可視化、可觸控、面向對象的操作界面、完整的地圖符號和先進的編輯功能,可以同步采集數據、圖形和地物屬性,也可以在野外只采集數據或者圖形,再進行圖形的編輯和屬性的匹配。用戶可根據自己的需要和習慣選擇方便自己的作圖方式,利用圖形編輯系統和屬性管理系統,對于已作的圖形可以進行再編輯和屬性的更改。使成圖效率成倍提高,系統結構示意圖,如圖2所示。

3系統功能

系統主要包括圖根控制、碎部測量、圖形編輯、圖形(數據)查看、距離量算、坐標量測等基本功能模塊。

3.1圖根控制

(1)控制點管理:該功能主要實現對測區內測量控制點的管理,包括把控制上傳到全站儀等采集設備、對控制點進行添加、刪除、修改、查詢等,并實現在地形圖中自動繪制控制點符號。

(2)圖根導線測量及平差:包括圖根導線的基本設置,如方向、斜距、天頂距測回數、限差等。測量結束后利用簡易平差原理,開發導線簡易平差功能進行導線平差計算,可處理符合導線、閉合導線、支導線、無定向導線。平差結果及原始觀測數據自動生成報表輸出。對于導線中的一個粗差可以自動探測。

(3)自由設站:支持全站儀自由設站法的測量方式,包括已知點的觀測、錯誤檢查、坐標計算及存儲等功能。

(4)尋點功能:利用設備的GPS定位功能,通過求解測區的坐標轉換參數,可以速度找到測區的控制點大致點位,設站定向更迅速。

3.2碎部測量

碎部測量是數據采集的一個主要功能,程序中提供了兩種基本的測量方式:極坐標法測量、直角坐標法測量。極坐標測量中通過填寫圖塊代碼,連接點,連接線型,可實現對應的圖形連接和屬性編碼。也可通過觸摸屏幕進行逐點連接,或按各點測量的順序依次自動連接。在碎部測量中,碎部點坐標可以通過儀器設備采集得到,也可以根據現有的圖形關系計算得到。

3.3碎部點坐標測算及連碼處理

碎部點坐標測算是利用已有的基本碎部點通過一定的幾何關系計算出未知點,并將點顯示在屏幕上。系統中提供的方法包括:直角折點、直線相交、邊長交會、矩形2點、矩形第4點、方向直線交會、垂線直線交會、內插點、對稱點、垂足點、直線定點、方向線支距、直角偏距等。

系統開發提供一種更為簡單的連碼處理方式。它既提高了作業速度,又減輕了作業人員的勞動強度,它在生成測算點坐標的同時,也生成了相應的圖塊。主要可提供的方法包括:一點矩形、兩點矩形、3 點矩形、直角折線、方向伸縮、直角隔點、過點平行線、距離平行線等。

圖形編輯包括對圖形的瀏覽、對圖塊和點的編輯等功能:①圖形的瀏覽,包括圖形的移動、放大(開窗放大) 、縮小、全圖;②圖塊的編輯,包括對圖塊的刪除、復制、粘貼、圖塊屬性的修改。同時也可通過屬性代碼進行圖塊的添加;③點的編輯,包括點的屬性修改、點的刪除、點的添加等;④圖層控制,系統的數據按地物特點分層放置,可以通過圖層控制功能來開關顯示相應圖層,以提高圖形顯示速度,便于用戶的各種編輯處理。

3.5數據轉換

系統開發需提供數據轉換接口,實現將外業采集的圖形數據生成各種數字化成圖軟件或圖形處理軟件的交換數據文件格式,系統支持DWG(CAD),DXF,SVF(威遠圖) ,CAS(南方) ,EBP/ EBF(瑞得)、SHP(ARCGIS)等數據文件格式。

4系統的特點

(1)根據測量人員的作業習慣和要求進行開發,提供了更友好、操作更方便的用戶界面。

(2)在數據存儲過程中,采用面向對象的概念來管理地物(圖塊) ,這樣就能很方便地對數據進行增刪改,包括圖形及屬性數據。

(3)系統開發必須具有對所采集的數據均進行了數據的完整性和圖形與屬性的一致性的檢查的功能,以便滿足各種專題地理信息系統對外業數據采集和數據建庫的需求。

(4)除支持全站儀等作為數據采集設備外,還支持通過GPS-RTK直接采集地形數據。

5結束語

目前,數字測圖技術已經取代傳統的手工測圖方式,數字地圖產品也成為最主要的地圖產品。我國已有商品化的大比例尺地面數字測圖系統,但尚存在某些問題,其中最主要而突出的問題是外業采集數據手工繪制草圖較為繁瑣,作業速度慢,內業成圖時需對照草圖手工繪制圖形,工作效率低下;已有的掌上測圖系統多采用非智能平臺開發,數據傳輸不便,成本高,設備功耗大,無法長時間使用,無法大范圍推廣使用。

基于安卓智能移動系統的外業數據采集系統,充分利用了平板電腦體積小、重量輕,運行速度快,便于攜帶,低能耗,工作時間長等優點,在最佳的測量條件下進行最多的測量作業,減少測量環境對測量數據精度的影響;同時可視化界面的操作系統,具有良好的圖形顯示、圖形編輯和交互操作的特性,實現即測即顯,大大減輕內業工作量,提高了工作效率。

安卓開發論文:基于安卓平臺的中國象棋游戲的開發

摘 要:目前,隨著科技的不斷發展,通信技術得到了長足的進步,如Pad,手機等數字產品成為人們日常生活中必不可少的重要組成部分,現在的手機等移動通信設備不僅具有通信這項單一的功能,還逐漸演變成一個可以移動的微機系統,為人們提供豐富的信息和服務。安卓操作系統作為一個應用廣泛的智能平臺,在該系統下開發的應用軟件不斷增多,本文詳細的研究和分析了在安卓平臺下開發中國象棋游戲的相關技術,設計并實現了中國象棋游戲的開發。

關鍵詞:中國象棋游戲;Android;智能手機

隨著數字化電子技術的飛速發展,聯機游戲已經成為人們日常生活中一項重要的娛樂方式,而象棋是一種非常受人們喜愛的智力游戲,隨著手機平臺的不斷升級,安卓手機系統已經占據了全世界59%的市場份額,在2007年,谷歌公司在Linux系統下開發了一款操作系統,它由中間件,用戶界面,應用軟件和操作系統幾部分組裝,這是一款專門為移動終端量身制作的移動平臺,安卓平臺是一個完全開源的平臺,擁有完整的體系架構。安卓平臺由Linux Kernel即Linux內核,Android Runtime,Libraries(庫)以及Applications(應用程序),Application Framework(應用框架)等五部分成,所以,一款在安卓平臺上的象棋游戲具有非常大的市場潛力,本文所設計的中國象棋游戲,正是在手機安卓平臺上設計開發的廣泛的,擁有非常大的實用性。

一、基于安卓系統的中國象棋游戲的設計

(一)系統的總體設計

本文設計的象棋游戲系統是一款由手機作為客戶端到PC服務器的網絡游戲,它的系統框架由服務器和移動終端組成。其中PC服務器主要用于同步轉發手機客戶端的數據,由此客戶端之間就可以通過服務器來實現通信,而手機客戶端的作用是游戲的操作,界面的顯示并與服務器之間通信。

(二)系統的模塊設計

在游戲的開發設計中,主要運用了人工智能技術,網絡通信信息管理技術等,游戲有聯機的人人對戰以及人機對戰模式,為了實現手機客戶端與PC服務器之間的通信以及人機對戰功能,在設計中將游戲的開發分為五個部分,并分別從靜態模型設計和動態模型設計來闡述系統的設計,這五個模塊分別為:(1)棋房間、棋桌模塊:主要用于實現客戶端分流與人人對戰;(2)棋盤、旗子模塊:包括游戲中棋盤的布局以及棋子的走法,系統的規則判斷;(3)人工智能模塊:具有人機對戰的功能;(4)網絡通信模塊:主要用于客戶端與服務器的通信,數據的發送;(5)資源存儲模塊:主要用于存儲游戲中用到的聲音資源,圖片資源等。

(1)中國象棋游戲靜態模型的設計。在游戲中,用Bitmaploader作為圖片資源模塊的靜態類,聲音資源用CNChesssoundmanager靜態類,并將游戲中涉及到的棋子、棋盤等圖片資源和聲音資源采用獨立的模塊,這樣不僅方便資源的維護,還可以實現資源的復用。

在游戲中,棋子和棋盤是游戲中非常重要的一部分,對使用者具有直接的影響,在設計中,棋子用CNChess作為基類,棋子的房間類為CNChessroom,棋桌類為CNChesstable,并在設計中直接使用棋盤類接口,并不通過內部處理,這樣就大大降低了模塊間的耦合程度。

網絡模塊作為聯機對戰的重要模塊,采用CNChessclientsockerserver,Networkmanager類來實現網絡連接和傳輸網絡信息。

人工智能模塊可以實現人與計算機博弈,在游戲中運用了人工智能技術,使計算機具有一定棋力,在游戲中用Humanvscomputer作為計算機的博弈類。

服務器端模塊用來實現讓客戶端的用戶在同一個平臺下進行游戲對戰,這里用到的類有CNChesslistensocket,用來監聽客戶端的連接,CNChessclientsocket用于各客戶端的通信。

(2)中國象棋游戲的動態模型設計。系統的游戲模式分為聯機對戰和人機對戰模式。人人對戰模式是讓兩個玩家通過服務器通信之后進行對戰,玩家選擇聯機模式以后,會打開一個網絡端口,這個網絡端口可以連接其他手機客戶,然后通過服務器建立網絡連接之后,進行雙方對戰。并用Encryptpassword和Encryptpacket這兩個模塊來進行通信時的數據安全處理,其中Encryptpassword用于對用戶登錄密碼進行加密,Encryptpacket用于對游戲中的數據包進行加密,這樣就對通信過程中數據的安全進行了保護。

人機對戰模式即將中國象棋和人工智能結合起來,使計算機擁有下棋能力,這樣玩家就可以與計算機直接對戰,人機對戰模式使用的是Humanvscomputer類,玩家只需要選擇計算機的棋力水平的等級和執棋方就可以與計算機對戰。

通過這兩種方式,玩家既可以使用網絡方式與其他玩家在線下棋,也可以在沒有網絡的條件下進行人機對戰,達到了隨時隨地游戲的目的。

三、結束語

本文通過對安卓操作系統的研究,設計開發了一款安卓操作系統下的中國象棋手機游戲,這款游戲不僅可以實現人機對戰,還可以聯網實現人人對戰,具有很大的市場潛力,本文詳細的闡述了游戲的系統框架和游戲的實現方式。象棋的計算方式非常復雜,至今任然存在一些研究盲點,有待進一步提高,所以這款游戲具有很大的提升潛力。

[作者簡介]陳明利(1990.05-),男,貴州六盤水人,頂峰互動產品經理,具有豐富的移動游戲應用設計及研發經驗,對移動互聯網、手游等具有豐富的積累及獨到的見解,精通Android、iOS等游戲應用開發。

安卓開發論文:安卓手機數據結構演示軟件開發技術

摘要:針對數據結構相對抽象的特點,結合實際情況,通過利用文字、圖像、動畫等形式描述數據結構的算法特點,在安卓手機平臺上開發數據結構演示軟件。整個演示軟件使用下拉列表控制方式,每個列表項包括若干選項。每個列表項對應一個選擇或一個子列表。系統一直處于選擇菜列表或執行某一被選列表項狀態,直到退出演示軟件。該數據結構演示軟件包含了線形表、堆棧、樹、圖等基本數據結構的概念以及實例分析的展示。

關鍵詞:數據結構;演示軟件;安卓手機平臺;安卓布局;安卓控件

數據結構課程是計算機軟件的理論和技術的重要基礎,不僅是計算機各專業的優秀課程而且是其他理工科專業的主要選修課。算法演示屬于軟件可視化研究的一個分支,它將算法的運行過程及行為通過圖形、動畫、聲音等方式進行展示,以輔助算法學習者理解[1]。當前,隨著多媒體技術的發展,數據結構的演示軟件大多是基于個人計算機環境下供學習者參考學習,即為計算機輔助教學[2]軟件,這種方式雖然能夠較好地動態、形象地將數據結構算法思想等展示給使用者,但有其不足之處。作為使用者必須有一臺個人計算機才能安裝使用,不能隨身攜帶供隨時參考。隨著安卓智能手機的普及,基于安卓手機平臺開發數據結構演示軟件不僅能夠擺脫個人計算機的環境限制,還可以隨身攜帶,隨時隨地可供參閱,所以開發安卓手機數據結構演示軟件還是非常有實用價值的。

1 安卓手機平臺簡介

1.1 Android布局管理

所謂Android布局就是組件在Activity中的呈現方式,即組件大小、間距和對齊方式等屬性的具體表現。Android平臺提供了以下,兩種創建布局的方式:

在XML配置文件中聲明:這種表現方式是將需要呈現在Activity中的各個組件在配置文件中進行定義聲明,在Activity程序中通過setContentView(R.layout.main)方法實現將各組件呈現在Activity中,在Activity程序代碼中通過findViewById方法獲得組件實例。

在Activity具體實現程序中通過“純代碼”的形式直接實例化,將要用到的Android組件添加到所要呈現的Activity布局中。

總的來說,第一種布局創建方式更好,相對來說更加直觀、簡單。本軟件開發過程均是用的第一種創建方式。要使用xml布局文件,大多數是通過使用Android編程提供的oncreate方法并使用setContentView來完成加載所要用到的xml布局文件。在編寫代碼過程中,findViewById方法要在setContentView方法加載后再調用,否則會出現加載錯誤,也就是說先加載后使用相關定義的組件。另外需要注意的是,所有定義的布局文件必須放在res/layout目錄下才能被調用。

布局(ayout)是各個控件在屏幕上的位置關系,為了滿足各種界面呈現方式的需要,Android提供五種布局方式:①FrameLayout(框架布局)又稱為幀布局、②LinearLayout(線性布局)、③AbsoluteLayout(絕對布局)、④RelativeLayout(相對布局)、⑤TableLayout(表單布局)。在Android中布局通常有以下幾種不同的情況:

①FrameLayout(框架布局):組件從屏幕的左上角坐標布局文件;

②LinearLayout(線性布局):按照垂直或者水平方向布局文件;

③AbsoluteLayout(絕對布局):按照絕對坐標來布局組件;

④RelativeLayout(相對布局):讓子視圖的位置參考其他視圖位置;

⑤TableLayout(表單布局):按照行列方式布局組件[3]。

在Android中View類是一個最基本的UI類,它包括了Button(按鈕)、List(列表)、TextView(文本框)、RadioButton(多選按鈕)、Checkbox(選擇框)等都屬于View類。

注:在項目工程里面的每一個Activity類都必須在“項目工程名”/res目錄下的AndroidManifest.xml文件添加類的名稱,格式為:。

1.2 Android平臺基本事件監聽與處理

Android的事件處理方式有兩種處理機制:基于監聽的事件處理和基于回調的事件處理。本應用程序使用的是前者基于監聽的事件處理,當用戶觸碰按鈕、某個列表項等相關應用程序組件時,該事件就會觸發事件監聽器,相應的事件監聽器結合自己對應的事件處理器即認為編寫的事件處理實例方法來做出相應的動作。

在Android系統編程中,在處理UI中的各種元素的時候,兩個程序中的關鍵環節為:

取得布局文件(XML)中的控件句柄:使用findViewById()獲取控件句柄;

設置具體的控件行為:使用setOnXXXListener()設置事件的處理函數。

這里使用findViewById()聯系布局文件中控件和句柄,并通過OnClickListener()等定制句柄的行為即開發者所需要該控件被觸發后完成的具體動作。

基于事件監聽的處理針對不同的事件,Android為不同組件提供了不同的接口。常用到的View類下的幾個內部接口有:View.OnClickListener、OnFocusChangeListener、OnTouchListener、OnKeyListener、OnLongClickListener等。SetOnXXXListener()等函數是android.view.View類的函數,這些函數用于事件處理,它們由程序實現,通過設置這些內容也就設置了控件的行為。這些函數的參數都是所對應的android.view.View類中的方法。

1.3 屏幕間的跳轉和事件的傳遞

總的來說,開發一個Android應用程序的過程可以看作是開發一系列Activity類的組合過程。對任意一個Android應用程序而言,每一個屏幕顯示的設計與實現其實就是開發一個android.app.Activity類,在需求分析的基礎上建立一系列的任務類即完成整個軟件所需要的屏幕顯示內容。在所有的類當中,選取一個主類作為整個Android軟件的初始界面即整個軟件程序的入口,這一點有點類似于C語言編程里面的main()函數。一旦進入了初始界面,接下來就是根據該類中設置相關操作以及用戶的具體需求觸發操作進行不同界面之間的跳轉,這里的跳轉也就是整個軟件里面不同Activity類之間的相互切換。

上述中不同Activity之間的相互切換是靠Intent驅動的,通過在界面上設置事件的監聽實現。一個Intent(android.content.Intent)對象是Android操作系統用于滿足任務需求以及向系統發送廣播Intent事件所使用的異步消息機制,它同適當的Activity或Service(如果需要的話則運行它)協同工作[4]。

正如前面所講述的:一個Android應用程序一般會包括多個Avtivity,但是只有一個Activity作為程序的入口――但該Android應用程序運行時將會自動啟動并執行該Activity,至于應用中的其他Activity,一般是通過入口Activity啟動,或者由入口啟動的Activity啟動[5]。Activity通過兩種方式啟動其他Activity:

當切換到一個新的屏幕后,先前的屏幕將會被暫停,并被保存在歷史堆棧中,也可從現在的屏幕返回到歷史堆棧中的前一個屏幕。當前屏幕如果不再使用時,可以從歷史堆棧中將它刪除。默認情況下,Android將會保留從一開始的主屏幕到每一個應用過程中的運行屏幕。

2 軟件的設計與實現

2.1 總體設計圖如圖2[6-7]

2.2 系統主要功能介紹

2.2.1 單鏈表

功能主要是鏈表的相關概念簡介,增、刪、存儲等基本操作的介紹以及實例的演示。

2.2.2 棧和隊列

功能包括棧和隊列的定義,順序存數和鏈式存儲的優秀代碼實現、實例入棧(隊列)、出棧(隊列)的動態演示。

2.2.3 二叉樹

功能主要包含了二叉樹的基本定義以及相關重要性質、各個相關操作的優秀代碼二叉樹的遍歷、最優二叉樹的生成過程、哈夫曼樹等的實例演示。

2.2.4 圖

功能主要包括圖的基本概念、圖的兩種遍歷的含義及優秀思想、實例的動態演示。

2.2.5 排序

功能主要是排序算法的介紹、主要排序算法的優秀思想以及主要的代碼、相應實例的動態演示。

2.2.6 查找

功能主要是各種查找算法的基本思想以及應用的背景介紹、相應實例的演示。

2.2.7 串

功能主要是相關概念的介紹、匹配模式定理、實例的演示。

2.3 系統整體特點

系統是在Windows XP環境下開發的,運用Eclipse軟件和Android模擬器編程實現和測試可行。系統總體上采用層次菜單結構呈現,通過點擊按鈕或者觸摸屏幕實現界面跳轉進入到子菜單,逐層具體實現各個模塊的設計。系統開始界面是目錄形式,每一個標題為一列表名稱,點擊出現下拉列表,選擇要查詢的具體模塊,進入后,進行查詢。每一個模塊大致實現了:該模塊內容介紹、原理分析、實例展示等三個主要部分。

2.4 系統實現說明

2.4.1 主界面的設計實現

主界面利用Listview組件,列表顯示需要三個元素:

① ListVeiw:用來展示列表的View。

②適配器:用來把數據映射到ListView上的中介。

③數據:具體的將被映射的字符串,圖片,或者基本組件。

2.4.2 Button組件的應用

1)使用Button控件

Android SDK包含兩個在你的布局中可以使用的簡單按鈕控件:Button(android.widget.Button)和ImageButton(android.widget.ImageButton)。這些控件的功能很相似因此我們幾乎可以一并地的討論它們。這兩個控件不相同的地方基本上就是外觀上;Button控件有一個文本標簽,而ImageButton使用一個可繪制的圖像資源來代替。Button使用的一個很好的例子應該是一個簡單的帶有“保存”文本標簽的按鈕。ImageButton使用的一個很好的例子可能是音樂播放器按鈕的集合,包括播放P, 暫停 以及停止。本次實現用前一種Button控件,這里是一個示例屏幕(圖五),包括兩個Button控件(上一步和下一步)。

2)向布局添加Button控件

Button控件通常都被作為活動的布局資源文件一部分。比如,要添加一個Button控件到與你程序相關的main.xml布局資源中,你必須編輯布局文件。你可使用Eclipse的布局資源設計器,或者直接編輯XML。像按鈕這樣的控件也可以通過程序動態地創建并在運行時添加到你的屏幕上。簡單地通過它的類來創建合適的控件并將它添加到你的活動中的布局。要添加一個Button控件到布局資源文件,打開/res/layout/main.xml布局文件,它是你的Android項目的一部分。點擊你想要為其添加Button控件的LinearLayout (或者父級布局控件,比如RelativeLayout或FrameLayout)。在Eclipse中,你可以點擊Outline標簽中的父級布局,然后使用綠色加號按鈕添加一個新的控件。選擇你要添加的控件――在這個例子中是Button控件。

3)處理點擊

實現點擊事件處理的方法是使用setOnClickListener()方法向你的按鈕控件注冊一個新的View.OnClickListener。要使用這個方法,你必須更新你的活動類以注冊控件點擊事件。通常情況下通過你的活動的onCreate()方法來實現。使用findViewById()方法找到控件然后使用它的setOnClickListener()方法來定義當它被點擊時的行為。你將需要自己去實現界面的onClick()方法。

2.4.3 TextView顯示文本控件

1)TextView常用屬性

setText()設置文本內容,同xml中的android:text

setTextSize()設置文本字體大小,同xml中的android:textSize

setTextColor()設置文本顏色,同xml中的android:textColor

setBackgroundColor()設置背景顏色,同xml中的android:background

2)單擊TextView實現活動跳轉

①從相應的布局管理資源獲得相應TextView組件的Id;

②在需要跳轉的活動里面寫點擊事件,主要用到了TextView的字符串setSpan()函數和setText(spannableString)以及setMovementMethod()函數;

③在需要跳轉的活動里面聲明需要觸發的Intent意圖即跳轉活動到目的活動,具體實例可參考圖四到圖五的實現效果。

2.5 總體框架的實現效果

2.5.1 菜單列表

考慮到Android手機的實際應用背景,主界面采用菜單列表式的方式呈現。主界面的部分截圖如圖3所示。

2.5.2 下拉列表項

每個菜單列表名稱是一個下拉列表項,當點擊該名稱時會出現相應列表項里面的內容。以第七章圖為例,點擊后列表展開如圖4所示。

2.5.3 界面切換

觸摸每一個列表項里的選擇項,會跳轉到相應的活動界面。以點擊第一圖的深度優先遍歷為例,會出現圖5所示界面。

單擊上一步或下一步,會出現相應以鄰接表存儲圖的遍歷步驟演示,點擊上面的“點擊查看優秀思想”會出現相應演示模塊的原理或者概念性文字說明。

3 結論

本文的演示軟件針對數據結構主要的算法給與了簡要說明與實例演示,內容還不夠具體、詳細,每一部分具體的實現過程有待于細致推敲、修改完善,特別是對算法優秀代碼的解析說明功能,做到盡可能的滿足用戶的需要。如何將抽象的數據結構算法思想形象生動的在Android平臺展示,來幫助需求者的學習是一個值得研究的問題,希望本文的引入,給數據結構算法演示軟件的多媒體實現帶來一些新的思路。

安卓開發論文:基于安卓系統手機WiFi的家用智能遙控器開發

【摘要】主要介紹基于安卓系統手機WiFi的家用智能遙控器客戶端的開發。通過在安卓手機上開發遙控器界面,并載入多個不同品牌不同型號設備的遙控器指令數據包,借助WiFi轉紅外模塊譯碼成與家電相匹配的紅外信號,使實物遙控設備數據化,實現“一個家庭只需一個遙控器”的目標,為人們提供一個智能舒適、環保節能的居家環境。

【關鍵詞】安卓系統;WiFi;紅外遙控

一、引言

由于紅外遙控器價格低廉、技術成熟等優點,許多智能家電設備仍普遍采用紅外遙控器進行控制,包括電視、空調、DVD機、電視機頂盒等等。然而,隨著家庭中智能家電設備的增多,紅外遙控器數量也在增加,一個家庭使用的遙控器數量少則數個,多則十幾個,這會帶來三大問題:

(1)數量眾多的遙控器給使用者帶來使用和管理上的不便;

(2)紅外遙控器使用的一次性堿性電池,廢棄后給環境帶來極大的危害;

(3)遙控器意外損壞后,很難找到匹配的遙控器。

基于安卓手機WiFi的家用智能遙控器,可同時控制多個不同品牌不同型號的家用電器,取代傳統的實物遙控器,實現“一個家庭只需一個遙控器即可控制所有紅外遙控的家電設備”的目標,極大減少遙控器數量和一次性電池的使用量,為人們創造便捷舒適、環保節能的居家環境。

二、系統的結構

整個系統主要包括客戶端軟件、WiFi轉紅外模塊,如圖1所示??蛻舳塑浖ㄟ^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所示;接著按下安卓手機上對應的遙控器按鍵后,觀察紅外測試儀器上的波形,如圖4所示。

由圖3、圖4可以看得出,安裝客戶端的安卓手機及WiFi轉紅外模塊可以實現實物遙控器的功能。

四、結束語

本項目設計的運行在安卓手機上的新型遙控器,實測數據證明,其實現的功能與原配的實物遙控器性能一致,完全可以取代現有的各種實物遙控器,實現實物遙控設備數據化,降低成本。由于它基于安卓手機平臺,具有成本低、擴展好、“一機多控”、環保、智能等優點,作品成熟后,具有較高的市場應有價值。

優秀范文
亚洲精品无码久久久久久久性色,淫荡人妻一区二区三区在线视频,精品一级片高清无码,国产一区中文字幕无码
揄拍视揄拍在线视频菠萝 | 中文字幕在线不卡精品视频99 | 日日摸夜夜摸狠狠摸婷婷 | 中文字幕乱码视频22 | 亚洲3D卡通动漫在线观看 | 色综合久久久久综合99 |