1. 程式人生 > >安卓的資料共享——從一個APP中呼叫另一個APP資料的方法

安卓的資料共享——從一個APP中呼叫另一個APP資料的方法

在Android中如何在一個APP中呼叫另一個APP中的資料呢?大致有以下五種方法可以實現


1、首選項資訊-Shared Preferences

2、檔案

3、SQLite

4、Content Provider

5、廣播


下來對上述的五種方法進行詳細的解析:


1、首先對於Shared Preferences系統提供了三種許可權的管理模式,分別是

            MODE_PRIVATE: 私有模式

            MODE_WORLD_READABLE: 全域性可讀模式

            MODE_WORLD_WRITEABLE: 全域性可寫模式

    將訪問許可權模式改為MODE_WORLD_READABLE,然後執行填入一組資料,則可以對外部應用公開,建立的資料檔案可以被其它應用程式讀取。

    通過Share Perferences類儲存的首選項資訊資料只能是以鍵值對的形式處理。

2、對於檔案而言,可以按照自定義的格式來儲存和讀取少量資料,通常使用資料檔案的格式。

    Android的資料檔案的讀寫操作採用了Java API中的FileInputStream類和FileOutputStream類,以及相關的一系列方法。資料可以儲存在機身記憶體中或者SD卡中,為了共享資料的方便,一般將資料檔案儲存在SD卡中。

    將資料檔案放置在SD卡是,要在AndroidManifest.xml檔案中申明對SD卡的使用許可權和在程式中編寫檢查SD卡是否可用的程式,因為在程式的執行過程中有可能出現SD卡暫時不能用的情況。

3、SQLite資料庫

    SQLite是一種輕量級的基於檔案的資料庫管理系統,具有小巧、高效的特點,特別適合用於手機等嵌入式裝置中來進行大量資料的儲存和各種操作。Android平臺提供了對SQLite的良好支援,尤其是提供了各種資料庫操作的API,方便開發者編寫應用程式。

4、Content Provider

    我們可以通過ContentResolver來訪問ContentProvider中提供的資料,ContentResolver是一個抽象類,我們可以通過Context的getContentResolver來獲取,實際上

獲取的是ApplicationContentResolver,ApplicationContentResolver繼承自ContentResolver,當ContentProvider所在的程序沒有啟動的時候,第一次訪問時候,會觸發ContentProvider的建立和其所在程序的啟動,通過增刪查改四個方法都可以觸發。

5、廣播

    本應用通過廣播將資料傳送給所有的應用以實現資料共享。廣播只適合少量資料的共享。