<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 專(zhuān)題 > 基于A(yíng)ndroid平臺的雙網(wǎng)雙待的設計方法

基于A(yíng)ndroid平臺的雙網(wǎng)雙待的設計方法

——
作者: 時(shí)間:2012-11-30 來(lái)源:電子產(chǎn)品世界 收藏

  3. 平臺雙網(wǎng)雙待軟件設計

本文引用地址:http://dyxdggzs.com/article/139563.htm

   平臺雙網(wǎng)雙待功能設計主要涉及到 軟件平臺的四大功能模塊,分別是Linux 內核層、本機庫/運行時(shí)、應用程序框架層以及應用程序層。其中在應用程序層利用Android的各種組件API 實(shí)現PhoneApp 并在Linux 內核層提供相應的底層驅動(dòng)。Android 系統架構如圖2 所示。

  

 

  圖2 Android 系統架構

  (1)Linux 內核。

  Android 系統平臺是基于優(yōu)化的Linux 內核來(lái)開(kāi)發(fā)的,主要添加了一個(gè)名為Goldfish 的虛擬CPU 以及Android 運行所需的特定驅動(dòng)代碼。該層用來(lái)提供系統的底層服務(wù),提供諸如內存管理、進(jìn)程管理、設備驅動(dòng)、安全管理、電源管理等驅動(dòng)模塊,作為一個(gè)虛擬的中間層,該層位于硬件與其他軟件層之間,采用YAFFS2 文件系統,同時(shí)也是手機軟硬件的連接層。在系統開(kāi)發(fā)中,也需要針對自身的硬件模塊添加對應的驅動(dòng),如Phone 驅動(dòng)、GPRS 驅動(dòng)、GPS 驅動(dòng)、液晶和觸摸板驅動(dòng)等。

  (2)本機庫/Android 運行時(shí)。

  這些共享庫都是利用C 和C + + 語(yǔ)言編寫(xiě)的,且針對電話(huà)使用的特定的硬件架構進(jìn)行了編譯,并已由手機制造商預先安裝到手機上。本機庫主要包含: 標準C 函數庫、媒體功能庫、瀏覽器引擎、2D 和3D 圖形庫及SQLite 引擎等。開(kāi)發(fā)者利用這些功能可以方便地開(kāi)發(fā)出人機界面友好的應用程序接口,極大地縮短了開(kāi)發(fā)過(guò)程。

  Android 運行時(shí)包含一組Java 內核庫和Dalvik 虛擬機,它們有效地優(yōu)化了Java 程序的運行過(guò)程。

  (3)應用程序框架層。

  Android 應用程序開(kāi)發(fā)是基于框架和組件的,該層提供了在創(chuàng )建應用程序時(shí)需要使用的各種高級構建塊,因此在該層中,開(kāi)發(fā)人員擁有訪(fǎng)問(wèn)框架API 的全部權限,在開(kāi)發(fā)應用程序時(shí)調用Android 本身自帶的許多組件,也可以開(kāi)發(fā)新的組件,并將該組件放入應用程序框架中,以供自己和其它應用程序調用,這樣的模塊大大提高了應用程序的開(kāi)發(fā)效率。

  (4)應用程序層。

  Android 本身包含一些由Java 開(kāi)發(fā)的核心應用程序,如桌面、短信收發(fā)程序、日歷、電話(huà)通訊錄、瀏覽器、E-mail 客戶(hù)端等,開(kāi)發(fā)者還可以在此基礎上開(kāi)發(fā)出更多具有特色的Android 應用程序,如特效相機、播放器、充電相框等。

  3. 1 Android 雙網(wǎng)雙待實(shí)現方案

  在 單模狀態(tài)下通過(guò)添加一套支持CDMA 的無(wú)線(xiàn)接口層RIL 來(lái)實(shí)現雙網(wǎng)雙待機制的方案如圖3 所示。

  

 

  圖3 Android 雙網(wǎng)雙待電話(huà)部分結構

  在PhoneAPP 中new 一個(gè)Phone 和一個(gè)CDMAPhone,分別對應兩種framework (不同的CallTracker)和RIL (不同的RIL),實(shí)現單模向雙網(wǎng)雙待的改進(jìn)。

  圖中CallLiST 主要用來(lái)管理兩個(gè)電話(huà)之間的切換,以避免如掛掉某一個(gè)通話(huà)卻導致另一個(gè)的通話(huà)也結束等一系列界面顯示出錯問(wèn)題。CallList 模塊管理兩個(gè)電話(huà)以及這兩個(gè)電話(huà)所有的通話(huà),通過(guò)一個(gè)CallList 表來(lái)存儲兩個(gè)電話(huà)的所有呼叫。上層界面調用這個(gè)CallList 表來(lái)處理兩個(gè)電話(huà)的切換。在framework 中new 一個(gè)CallList 的類(lèi)來(lái)存儲phone 的多個(gè)電話(huà)以便上層顯示。

  CallList 類(lèi)中包含attached(),detach(),update(),clear(),get-CurrentCall(),getDefault()等方法。使得兩個(gè)Phone 的Call 得到控制。掛掉的時(shí)候就從表中刪除,來(lái)電話(huà)的時(shí)候加入表中。

  上層顯示的時(shí)候,只要調用CallList 中的最后存入Call 就不會(huì )出現界面出錯的情況。

  在包含 網(wǎng)絡(luò )和CDMA 網(wǎng)絡(luò )的雙網(wǎng)雙待模塊中,因為有了CDMA 部分的整合不少代碼已經(jīng)發(fā)生改變,原來(lái)的CallTracker只被GSM 使用,在這里改為CallTracker 和GsmCallTracker,抽象出CallTracker 基類(lèi),使其也可以被CDMA 利用; GSMCall 變成GsmCall,更加符合統一的命名規則; 另外,比如pppd 的啟動(dòng)部分,也從Java 框架層放到RIL 層。

  3. 2 Android RIL 層的改進(jìn)

  在A(yíng)ndroid 系統中RIL 是電話(huà)系統的本地實(shí)現,它提供了Android 電話(huà)服務(wù)(android. telephony)與無(wú)線(xiàn)電硬件之間的抽象層,主要負責AT 命令的發(fā)送和響應解析,這也是電話(huà)服務(wù)的實(shí)現基礎。另外,RIL 還負責數據的可靠傳輸。因此RIL 在A(yíng)ndroid電話(huà)部分起核心作用。本方案設計過(guò)程中主要涉及到RIL以下四個(gè)部分的修改:

  (1)由于本方案維護兩個(gè)RIL 實(shí)例,因此RIL 實(shí)例管理者(RIL instance Manager)需要各自負責與android telephony 通過(guò)socket 進(jìn)行連接。每個(gè)RIL 實(shí)例針對各自的SIM 卡提供專(zhuān)用的通信通道來(lái)進(jìn)行modem 側的通信服務(wù)。

  (2)無(wú)線(xiàn)電仲裁管理者(Radio Service Arbitration Manager),這是實(shí)現雙網(wǎng)雙待方案中新增加的模塊,主要用來(lái)為每個(gè)RIL 實(shí)例進(jìn)行語(yǔ)音和短消息業(yè)務(wù)的仲裁,數據服務(wù)的仲裁由MODEM 來(lái)進(jìn)行。

  (3)RIL 事件分配機(RIL Event Dispatcher),用于分配RIL請求及AMSS 事件到通信服務(wù)管理模塊進(jìn)行的處理。

  (4)無(wú)線(xiàn)電服務(wù)管理者(Radio Service Manager),Android 通話(huà)應用首先需要通過(guò)子系統信息來(lái)從framework 層獲得通話(huà)服務(wù),然后每個(gè)SIM 卡子系統將會(huì )映射到一個(gè)特定的RIL 實(shí)例ID上,服務(wù)管理將使用RIL 實(shí)例的ID 來(lái)識別子系統ID 中DSS API的參數。



關(guān)鍵詞: Android GSM

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>