基于Android平臺的雙網(wǎng)雙待的設(shè)計方法
0 引言
本文引用地址:http://2s4d.com/article/270832.htm隨著移動通信技術(shù)的快速發(fā)展以及人們對手機功能需求的不斷提高,智能手機逐漸成為人們的日常消費品,智能手機的用戶也與日俱增。為了方便人們的生活,追求雙網(wǎng)雙待已成為手機研發(fā)的一種普遍現(xiàn)象。雙網(wǎng)雙待解決了一部手機可以同時接入兩個網(wǎng)絡(luò)的難題,最大的優(yōu)點是保證了GSM 與CDMA 兩種網(wǎng)絡(luò)在同一手機中同時工作,真正實現(xiàn)了兩網(wǎng)自由連通。雙網(wǎng)的連通還具有差異化優(yōu)勢,可以將CDMA 較高的接入速度和通信保密等強大功能體現(xiàn)在終端方面,使雙網(wǎng)雙待手機用戶能夠盡享CDMA 網(wǎng)絡(luò)支持的豐富多彩的數(shù)據(jù)增值業(yè)務(wù)。同時GSM 與CDMA 兩網(wǎng)的和諧整合將為手機廠商帶來巨大的市場價值。
Android 作為當前眾多智能手機系統(tǒng)平臺的后起之秀,以其優(yōu)勢正逐漸獲得廣大手機開發(fā)人員和手機消費者的青睞。實現(xiàn)雙網(wǎng)雙待也必將成為Android 不斷創(chuàng)新和發(fā)展的重要因素。
Android 系統(tǒng)由嵌入式Linux 和Java 構(gòu)成,因此基于Android 系統(tǒng)平臺的雙網(wǎng)雙待設(shè)計區(qū)別于其他手機對雙網(wǎng)雙待的實現(xiàn),它充分地利用了Android 平臺清晰的系統(tǒng)架構(gòu)、簡易的工作原理和已經(jīng)實現(xiàn)的部分Phone 核心應(yīng)用程序進行雙網(wǎng)雙待的功能擴展,提高了Android 平臺雙網(wǎng)雙待設(shè)計的效率。
1 Android 操作系統(tǒng)介紹
Android 是Google 于2007 年11 月份宣布的基于Linux 2. 6. 23平臺的開源手機操作系統(tǒng),號稱是首個為移動終端打造的真正開放和完整的移動軟件。Google 重新設(shè)計了Android Java 虛擬機和系統(tǒng),使得Android 的Java 應(yīng)用更接近于底層系統(tǒng),效率更高; 另外使用虛擬機技術(shù)使得Android 的應(yīng)用在被監(jiān)控的情況下運行,安全性更高。Android 包括移動電話工作所需的全部軟件,而且不存在任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙,具有平臺標準化、用戶可定制以及服務(wù)免費等特色,是一個對第三方軟件完全開放的平臺,突破了iPhone 等只能添加為數(shù)不多的固定軟件的枷鎖; 同時與Windows Mobile、Symbian、iPhone OS 等廠商不同,Android 操作系統(tǒng)免費向開發(fā)人員提供,大大節(jié)省了開發(fā)成本。
Android 平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。Linux 內(nèi)核層用來提供系統(tǒng)的底層服務(wù),位于硬件和其他軟件之間。Android 運行庫包含一組核心庫和Dalvik 虛擬機,Android 提供豐富的類庫支持且大部分為開源代碼,如采用嵌入式數(shù)據(jù)庫SQLite.應(yīng)用框架層為Android 開發(fā)人員提供了訪問框架應(yīng)用程序接口的全部權(quán)限,采用結(jié)構(gòu)化設(shè)計簡化了組件間的重用。在應(yīng)用程序?qū)?,Android 本身附帶了一些核心的應(yīng)用程序,大大簡化了Android 應(yīng)用程序的開發(fā)。
因此,利用Android 平臺更易于開發(fā)具有雙網(wǎng)雙待功能的智能手機系統(tǒng),同時也便于在原有系統(tǒng)的基礎(chǔ)上進行不斷的完善和功能擴展。
2 Android 平臺雙網(wǎng)雙待框架設(shè)計
Android 平臺上實現(xiàn)的雙網(wǎng)雙待手機是將GSM 網(wǎng)絡(luò)和CDMA網(wǎng)絡(luò)相結(jié)合,使得一部手機可同時插入兩張不同網(wǎng)絡(luò)的號卡,并同時處于開機狀態(tài),用戶無需切換網(wǎng)絡(luò),即可任意撥打、接聽和收發(fā)短信,且這些手機均可支持中國電信自有的增值業(yè)務(wù),使商務(wù)人士盡享移動辦公的自由以及休息娛樂的樂趣。此外,用戶還可預(yù)設(shè)接聽和撥打電話的順序,使用起來非常方便。
基于Android 系統(tǒng)平臺的雙網(wǎng)雙待的設(shè)計,充分結(jié)合了Android2. 1 版本之后在framework 層上已經(jīng)實現(xiàn)的雙卡處理機制,設(shè)計方案主要側(cè)重于RIL 及ARM(modem)側(cè)的實現(xiàn)機制。通過在RIL 上依樣建立一套新的處理機制,將雙卡分別進行處理。
比如,打電話的時候,發(fā)送哪套請求就先選擇向哪套機制發(fā)送請求,然后還在這套機制中等待消息的返回。Android 平臺雙網(wǎng)雙待框架如圖1 所示。
圖1 Android 平臺雙網(wǎng)雙待框架
圖1 中GSM 網(wǎng)絡(luò)和CDMA 網(wǎng)絡(luò)分別擁有一套獨立的RIL處理機制,從而可以根據(jù)上層不同的Phone 服務(wù)執(zhí)行framework層以及RIL 層的相應(yīng)處理,真正實現(xiàn)雙網(wǎng)的協(xié)同工作,達到同一手機中雙網(wǎng)雙卡之間互不干擾的效果。
3 Android 平臺雙網(wǎng)雙待軟件設(shè)計
Android 平臺雙網(wǎng)雙待功能設(shè)計主要涉及到Android 軟件平臺的四大功能模塊,分別是Linux 內(nèi)核層、本機庫/運行時、應(yīng)用程序框架層以及應(yīng)用程序?qū)?。其中在?yīng)用程序?qū)永肁ndroid的各種組件API 實現(xiàn)PhoneApp 并在Linux 內(nèi)核層提供相應(yīng)的底層驅(qū)動。Android 系統(tǒng)架構(gòu)如圖2 所示。
圖2 Android 系統(tǒng)架構(gòu)
(1)Linux 內(nèi)核。
Android 系統(tǒng)平臺是基于優(yōu)化的Linux 內(nèi)核來開發(fā)的,主要添加了一個名為Goldfish 的虛擬CPU 以及Android 運行所需的特定驅(qū)動代碼。該層用來提供系統(tǒng)的底層服務(wù),提供諸如內(nèi)存管理、進程管理、設(shè)備驅(qū)動、安全管理、電源管理等驅(qū)動模塊,作為一個虛擬的中間層,該層位于硬件與其他軟件層之間,采用YAFFS2 文件系統(tǒng),同時也是手機軟硬件的連接層。在系統(tǒng)開發(fā)中,也需要針對自身的硬件模塊添加對應(yīng)的驅(qū)動,如Phone 驅(qū)動、GPRS 驅(qū)動、GPS 驅(qū)動、液晶和觸摸板驅(qū)動等。
(2)本機庫/Android 運行時。
這些共享庫都是利用C 和C + + 語言編寫的,且針對電話使用的特定的硬件架構(gòu)進行了編譯,并已由手機制造商預(yù)先安裝到手機上。本機庫主要包含: 標準C 函數(shù)庫、媒體功能庫、瀏覽器引擎、2D 和3D 圖形庫及SQLite 引擎等。開發(fā)者利用這些功能可以方便地開發(fā)出人機界面友好的應(yīng)用程序接口,極大地縮短了開發(fā)過程。
Android 運行時包含一組Java 內(nèi)核庫和Dalvik 虛擬機,它們有效地優(yōu)化了Java 程序的運行過程。
(3)應(yīng)用程序框架層。
Android 應(yīng)用程序開發(fā)是基于框架和組件的,該層提供了在創(chuàng)建應(yīng)用程序時需要使用的各種高級構(gòu)建塊,因此在該層中,開發(fā)人員擁有訪問框架API 的全部權(quán)限,在開發(fā)應(yīng)用程序時調(diào)用Android 本身自帶的許多組件,也可以開發(fā)新的組件,并將該組件放入應(yīng)用程序框架中,以供自己和其它應(yīng)用程序調(diào)用,這樣的模塊大大提高了應(yīng)用程序的開發(fā)效率。
(4)應(yīng)用程序?qū)印?/p>
Android 本身包含一些由Java 開發(fā)的核心應(yīng)用程序,如桌面、短信收發(fā)程序、日歷、電話通訊錄、瀏覽器、E-mail 客戶端等,開發(fā)者還可以在此基礎(chǔ)上開發(fā)出更多具有特色的Android 應(yīng)用程序,如特效相機、播放器、充電相框等。
3. 1 Android 雙網(wǎng)雙待實現(xiàn)方案
在GSM 單模狀態(tài)下通過添加一套支持CDMA 的無線接口層RIL 來實現(xiàn)雙網(wǎng)雙待機制的方案如圖3 所示。
圖3 Android 雙網(wǎng)雙待電話部分結(jié)構(gòu)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關(guān)文章:linux教程
cdma相關(guān)文章:cdma原理
評論