一個程序能夠經過實現一個Content provider的抽象接口將本身的數據徹底暴露出去,並且Content providers是以相似數據庫中表的方式將數據暴露。android
Content providers存儲和檢索數據,經過它能夠讓全部的應用程序訪問到,這也是應用程序之間惟一共享數據的方法。數據庫
要想使應用程序的數據公開化,可經過2種 方法:app
1)建立一個屬於你本身的Content provideride
2)將你的數據添加到一個已經存在的Content provider中,前提是有相同數據類型而且有寫入Content provider的權限 spa
從數據共享的角度出發,ContentProvider應該是Android在系統啓動時就建立了,不然就談不上數據共享了。 這就要求在AndroidManifest.XML中使用<provider>元素明肯定義。xml
當應用須要經過ContentProvider對外共享數據時,步驟以下:繼承
【1】繼承ContentProvider並重寫下面方法:接口
public class PersonContentProvider extends ContentProvider{get
public boolean onCreate() string
public Uri insert(Uri uri, ContentValues values)
public int delete(Uri uri, String selection, String[] selectionArgs)
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs)
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)
public String getType(Uri uri)
}
【2】在AndroidManifest.xml使用<provider>對該ContentProvider進行配置:
<manifest .... >
<application android:icon="@drawable/icon" android:label="@string/app_name">
<provider android:name=".PersonContentProvider" android:authorities="cn.itcast.provider.personprovider"/>
</application>
</manifest>
注意:一旦應用繼承了ContentProvider類,後面咱們就會把這個應用稱爲ContentProvider(內容提供者)