《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于Android系統終端實現3GWIFI無線漫游
基于Android系統終端實現3GWIFI無線漫游
中電網
摘要: 近年來3G網絡得到迅速發展,其用戶量也迅速增長。3G網絡覆蓋范圍廣,而WIFI網絡帶寬高。因此,實現3G與wIFI網絡的互通將具有十分重要的意義。分析了基于Android系統手機終端的3G網絡和wIFI網絡的連接機制,根據此連接機制針對當前興起的Android系統應用程序的開發進行了分析,實現了由3G到WIFI的無線漫游,該漫游主要是通過Android中的LiSTView數據顯示adapter以及SharedPreference實現了連接節點SSID的顯示及存儲。此WIFI節點漫
Abstract:
Key words :

隨著人們日常生活和工作節奏的不斷加快,人們對信息獲取的便捷程度、對移動辦公、移動娛樂的重視程度正與日俱增。無線接人是滿足這一高速增長需求的唯一途徑,無線接人的兩個主角是3G(3rdGeneratiON)技術和W1FI(Wireless Fidelity)技術。

本論文針對目前比較流行的Android系統手機終端的3G、wIFI連接機制實現了3G和wIFI的無線漫游

1 Android平臺介紹

Android是Google公司最新推出的一個手機平臺,是一個真正意義上的開放性移動設備綜合平臺。它包括操作系統、用戶界面和應用程序及移動電話工作所需的全部軟件,而且不存在任何以往阻礙移動產業創新的專有權障礙。Android是由Unix+Java構成的。它的架構和工作原理決定了Android即目前最具可移植性的手機操作系統。Android是開源軟件,能夠有效降低軟件的成本,從而降低手機的整體價格,最終讓每個用戶能夠自由的獲取信息。Android提供了一個從操作系統到應用程序的完整的軟件棧,同時又允許人們定制差異化,以形成自己的競爭優勢,這對于手機制造商來說,具有強大的吸引力。開源軟件帶來的另一個好處是允許廠商自主解決問題。在此我們借助android系統的開源性及可定制的特性在此基礎上增加了3G、WIFI的無線漫游機制。

2 WIFI漫游中ListView的作用

Activity是構成應用程序中最重要的構造塊,在Android應用程序中,幾乎都是通過Activity來與用戶進行交互,所以Activity主要負責的就是創建與用戶進行交互的顯示窗口,你可以在這些窗口里通過調用setContentView(View)方法來顯示你自己的用戶界面。在實際開發應用程序的過程中通常需要用到列表顯示功能,那么在Android應用中,我們是通過Android中的一個特殊組件ListView來進行列表展示,它以列表的形式展示具體內容,并且能夠根據數據的長度自適應顯示。列表的顯示需要3個元素。

1.ListVeiw。用來展示列表的View。

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

3. 數據。具體的將被映射的字符串、圖片、或者基本組件。

ListView 繪制的過程如下:首先,系統在繪制ListView 之前,將會先調用getCount方法來獲取Item 的個數。之后每繪制一個Item 就會調用一次getView 方法,在此方法內就可以引用事先定義好的xml來確定顯示的效果并返回一個View對象作為一個Item 顯示出來。也正是在這個過程中完成了適配器的主要轉換功能,把數據和資源以開發者想要的效果顯示出來。也正是getView 的重復調用,使得ListView 的使用更為簡單和靈活。這兩個方法是自定ListView顯示效果中最為重要的,同時只要重寫好了前兩個方法,ListView就能完全按開發者的要求顯示。而getltem和getltemld方法將會在調用ListView的響應方法的時候被調用到。所以要保證ListView的各個方法有效的話,這兩個方法也得重寫。ListView作為一個數據顯示的機制,在用戶添加完SSID節點可以通過這種機制顯示出來,同時還添加了刪除,修改按鈕及SSID序號。這些SSID節點作為wIFI漫游的搜索節點,按照用戶的經常使用的級別定義優先順序。

2.1 SharedPreference實現數據存儲

Android 平臺給我們提供了一個SharedPreferences類,它是一個輕量級的存儲類,特別適合用于保存軟件配置參數。SharedPreferences是以鍵值對來存儲應用程序的配置信息的一種方式,它只能存儲基本數據類型。一個程序的配置文件僅可以在本應用程序中使用,或者說只能在同一個包內使用,不能在不同的包之間使用。實際上SharedPreferences是采用了XML格式將數據存儲到設備中,在DDMS中的File Explorer中的/data/data/~ package name>/shares prefs目錄下。

因為sharedPreferences是使用xml文件保存數據,getSharedPreferences(nAME,mode)方法的第一個參數用于指定該文件的名稱,名稱不用帶后綴,后綴會由Android自動加上。如果希望SharedPreferences使用的xml文件能被其他應用讀和寫,可以指定Context.M ODE—W ORLD— READABLE 和Context.MODE WORLD WRITEABI E權限。另外Activity還提供了另一個getPreferences(mode)方法操作SharedPreferences,這個方法默認使用當前類不帶包名的類名作為文件的名稱。訪問SharedPreferences中的數據代碼如下:

Long num — ssidvalues.getI ong(SSIDNUM ,O);如果訪問其他應用中的Preference,前提條件是該preference創建時指定了Context.MODE WORLDREADABLE 或者Context.MODE WORLDWRITEABLE權限。在此實現中是將數據存儲在用戶自己定義的SharedPreference文件中,用戶將SSID節點添加到用戶定義的SSIDINFO文件中。

2.2 3G WIFI無線漫游功能設計

在基于android系統手機中的wIFI和3G都有相應的設置選項,在WIFI設置關閉的情況下默認通過3G 網絡連接上網。用戶會經常去一些有wIFI熱點的地方,這些熱點是給用戶免費開放的,可以通過WIFI網絡連接到互聯網。這些經常用的AP節點就是用戶設置的SSID節點。

WIFI AP節點認證連接過程:

①搜索過程。終端進入wIFI后,首先搜索候選網絡的AP信息,AP搜索過程就是終端掃描信道獲取AP信息的過程,也叫AP掃描過程。在此過程中,終端在某個頻道上發出請求消息,然后等待AP回應,然后轉到下一個頻道。IEEE802.n標準規定,AP在收到終端發出的請求信息后,必須回復攜帶自身信息的包給終端,終端成功收到AP回復后,就能夠確知AP的存在并獲取妙的相關信息。

② 認證過程。終端在發起切換連接上wIFI一個新的AP時,需要通過AP的認證。在進入認證階段后,AP先發送一個待驗證的內容片斷給終端,終端解析此內容后將解析結果返回給AP,再判斷終端解析后的內容是否正確,如果正確則通過認證,否則失敗。3個子過程缺少一個過程都會導致此次認證失敗,因此保證了AP認證機制的可靠性。盡管這3個過程比較復雜,在終端與AP之間產生了多次的交互,然而這些過程并不占用太多的時間。

③ 重關聯過程。在經過認證后,需要與連接上的AP進行重關聯,然后通過AP連接上網。在重關聯過程中,終端先發送重關聯請求幀給AP,該幀包含了終端一些信息,如終端所支持的數據比特率及終端將要進行連接的AP在網絡中的SSID。在接收到請求后,AP處理請求并為該終端建立一條關聯ID號同時分配一部分存儲空間來存儲相關信息。然后AP向終端發送重關聯響應來通終端關聯成功還是失敗,同時包含AP建立重關聯的相關信息。如果關聯成功,則終端可以使用此AP聯網并與其他已經聯網的終端進行通信了。

④ 地址配置。終端在連接上AP后,AP要給終端分配一個IP地址,使其通過IP地址連接上互聯網。

以上步驟是wIFI在熱點區域連接AP節點認證的過程。在android系統中wIFI如果設定為關閉即使是在有wIFI熱點區域也不會進行搜索連接。為此我們添加了wIFI漫游過程。首先每隔一個固定間隔時間打開wIFI設置,查找是否有wIFI熱點,如果有就進行以上的wIFI連接AP節點的過程,然后查找用戶設定的SSID節點,查找到和用戶設定的一致的SSID節點則進行網絡連接。網絡連接終端可以發起切換,在與3G 網絡斷開后使用存儲的信息與wIFI的AP建立連接,通過wIFI上網,從3G 網絡切換到WIFI網絡連接到Internet。

2.3 WIFI漫游功能模塊框圖

為了能夠在間隔固定時間查詢是否有wIFI熱點區域,特啟動了一個漫游線程,該線程主要完成了如果已經在wIFI熱點區域則打開wIFI設置,將wIFI的AP節點與用戶設定的SSID進行比較如果為設定的SSID節點則進行連接,否則即使在熱點區域仍然用3G 網絡連接。

在3G連接的情況下實現探測wIFI節點流程圖,如果探測到的SSID在設定的I ist列表中,將3G關閉并自動連接到設定的SSID,實現流程圖如圖1所示。

3 結束語

本文提出了一種基于Android系統終端控制上實現3G到WIFI以及WIFI到3G 的無線漫游機制,分析了3G到WIFI的連接、認證、得到AP信息的過程。

該機制的實現還主要用到了android中的ListView用來進行數據顯示,利用了adapter實現了IAstView的數據傳輸,以及利用SharedPreference實現簡單數據存儲。該漫游機制的實現方便了用戶使用,減少了用戶使用3G網絡流量的費用。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久久久精品成人免费看 | 亚洲一区欧美日韩 | a4yy欧美一区二区三区 | 中文字幕在线免费视频 | 日韩三级黄色 | 欧美成人免费观看 | 男女靠逼网站 | 日韩1| 亚洲国产欧美91 | 日韩欧美视频在线一区二区 | 性中国xxxx孕妇 | 日韩一区二区免费视频 | 麻豆一区二区三区四区 | 动漫精品一区二区三区四区 | 国产精品suv一区二区 | 国产精品久久久久久一区二区三区 | 中文字幕另类 | 天天艹天天艹 | 99视频免费在线 | 欧美一级专区免费大片 | 一级特黄a 大片免费 | 国产日本欧美亚洲精品视 | 成人亚洲视频 | 午夜免费理论片在线看 | 日韩三级一区二区三区 | 欧美一区二区三区视频在线 | 成人久久久精品乱码一区二区三区 | 国产1区精品 | 国产黄色毛片 | 日韩成人在线观看视频 | 亚洲a成人7777777久久 | 国产精选免费视频 | 播9公社在线精品中文字幕 波少野结衣色在线 | 国产伦精一区二区三区视频 | 在线观看黄色网 | 日韩精品在线视频观看 | 日批免费看 | 色啊色 | 性感美女香蕉视频 | 一级片+国产 | 亚洲欧美日韩国产综合久 |