android developer tiny share-20170518

今天收尾android的ContentProvider話題,繼續講設計ContentProvider的問題。講使用Intent打開你的提供程序的某個Activity,通過該Activity來處理數據。講這種方式和前面的直接提供ContentProvider類的區別。

以下是android developer官方的講解:


Intent 和數據訪問


應用可以通過 Intent 間接訪問內容提供程序。 應用不會調用 ContentResolver 或 ContentProvider 的任何方法,它並不會直接提供,而是會發送一個啓動某個 Activity 的 Intent,該 Activity 通常是提供程序自身應用的一部分。 目標 Activity 負責檢索和顯示其 UI 中的數據。 視 Intent 中的操作而定,目標 Activity 可能還會提示用戶對提供程序的數據進行修改。 Intent 可能還包含目標 Activity 在 UI 中顯示的“extra”數據;用戶隨後可以選擇更改此數據,然後使用它來修改提供程序中的數據。


您可能想使用 Intent 訪問權限來幫助確保數據完整性。您的提供程序可能依賴於根據嚴格定義的業務邏輯插入、更新和刪除數據。 如果是這種情況,則允許其他應用直接修改您的數據可能會導致無效的數據。 如果您想讓開發者使用 Intent 訪問權限,請務必爲其提供詳盡的參考資料。 向他們解釋爲什麼使用自身應用 UI 的 Intent 訪問比嘗試通過代碼修改數據更好。


處理想要修改您的提供程序數據的傳入 Intent 與處理其他 Intent 沒有區別。 您可以通過閱讀 Intent 和 Intent 過濾器主題了解有關 Intent 用法的更多信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章