一传黄、概述
ContentProvider ,Android 四大組件之一,可用于不同應用之間的數(shù)據(jù)獲取洪唐,這里簡單介紹下App2通過 ContentProvider 從App1獲取數(shù)據(jù)的使用(需要涉及到)
二僚祷、具體使用
1佛致、App1需要自己實現(xiàn)ContentProvider,暴露給其他應用使用辙谜。(App1 提供數(shù)據(jù))
2俺榆、App2 通過 ContentResolver 使用App1暴露的形式進行獲取數(shù)據(jù)(App2 獲取數(shù)據(jù))
三、開始使用
? ?1装哆、App1 中需要的操作:
? ? ? ? ? ? ?新建一個類罐脊,繼承 ContentProvider定嗓,之后實現(xiàn)對應的需要實現(xiàn)的方法,具體為增刪改查類的方法萍桌,如:
分別的增刪改查中的實現(xiàn)為一些數(shù)據(jù)庫的基本操作宵溅,比如其中的insert方法的實現(xiàn),如下:
具體各個方法的實現(xiàn)可以參考文章末尾的demo鏈接上炎。
我們在實現(xiàn)了自己想要的ContentProvider之后恃逻,同時需要在AndroidManifest中進行申明
至此,App1這個對外暴露數(shù)據(jù)的應用所需要的操作已經(jīng)完成了藕施。
2寇损、App2 中需要的操作
? ? ? ? ?在App2 中執(zhí)行的操作非常簡單,舉一個其中的列子
直接在activity中通過 getContentResolver. 對應的方法進行操作即可裳食。
四矛市、總結
總的來說,其中涉及到的點我覺得主要是倆塊胞谈,一個是對于數(shù)據(jù)庫的一些基本操作尘盼,即增刪改查,主要是在調(diào)用時其中的一些參數(shù)的含義烦绳,如果不是很清楚的卿捎,可以參考這里;另一個是一些校驗相關的径密,比如URI,? 在Manifest中聲明的authority會與Uri的拼接會存在一定的關系午阵,一些大致的拼接可以參考如下