《BREW進階與精通——3G移動增值業務的運營、定製與開發》連載之82——BREW應用間通訊之共用檔案

來源:互聯網
上載者:User

上面講到,IFIFO實際上就是一個檔案,而且共用檔案,即共用駐留資料也是BREW應用間通訊最簡單的一種方式。BREW中有三種駐留資料的方式:系統儲存,檔案和資料庫。

系統儲存是指通過ISHELL_SetPrefs()和ISHELL_GetPrefs()來實現駐留資料的方法。ISHELL_SetPrefs()和ISHELL_GetPrefs()提供了一種方法來儲存包含或讀取應用或類層級首地址的資料結構,相當於VC裡面的序列化,使用起來非常簡便,資料由整個AEE層共用。

通常在手機上還存在shared這樣一個共用目錄,在shared目錄下的所有檔案可以被任何應用所訪問(應用至少擁有FILE許可權)。所以,約定好一個檔案名稱,兩個或多個應用就可以通過共同訪問該檔案進行通訊了。Const檔案可以允許OEM 減少RAM 的負荷,一般不能對Const檔案做刪改,IFILE_Map() 可以用來將Const檔案對應到記憶體,因此Const檔案很少用來做通訊的載體。IFILEMGR_GetInfo()和 IFILEMGR_GetInfoEx() 支援的檔案大小不能超過4GB(BREW3.x之前的版本),檔案名稱的長度也是有限制的,通過ISHELL_GetDeviceInfo(pIShell, pi), pi->wMaxPath 可以得到檔案名稱包括路徑的最大長度.

IDATABASE是一個資料庫介面,多個應用可以共用同一個資料庫。Idatabase可以建立和訪問由 IDBMgr建立並開啟的資料庫中的記錄,調用 IDBMGR_OpenDatabase() 開啟所需的資料庫可以擷取 Idatabase 介面的。另外,還可以使用 IDBRecord中的函數來訪問各個資料庫記錄的欄位。應用程式的權限等級必須是“檔案”或“全部”,才能調用此介面中可修改資料庫內容的函數。

IDATABASE_CreateRecord() 函數建立新的記錄並將其添加到資料庫中(IDBRECORD_Remove()用於刪除資料庫中的記錄)。每個記錄可包含一個或多個欄位,每個欄位由 AEEDBField 結構定義,建立建記錄時,先要填寫 AEEDBField 結構數組,來指定記錄中每個欄位的名稱、類型、內容和長度。然後,調用 IDATABASE_CreateRecord()並提供此數組的指標和要包含的 AEEDBField 結構數作為輸入參數。 IDATABASE_CreateRecord() 將返回指向 IDBRecord 介面執行個體的指標,可用於訪問和更新記錄的欄位。建立或更新記錄時,會為每個記錄指定欄位數和欄位類型;並不要求給定資料庫中的全部記錄都具有相同的結構。建立資料庫並添加記錄後,即可使用其他 Idatabase 函數從資料庫中檢索記錄。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.