Content Provider in Android (Part 1)
Today, I will introduce about Content Provider in Android.
What's is Content Provider?
- Content Provider store and retrieve data. Content Provider will make data accessible to all applications. This is unique way to share data across applications.
- Android provide a number of Content Provider for common data types (audio, video, images, bookmarks, contact,...). Query these providers for the data contained. (although, for some, must acquire the proper permission to read/write data).
- Android provide a number of Content Provider for common data types (audio, video, images, bookmarks, contact,...). Query these providers for the data contained. (although, for some, must acquire the proper permission to read/write data).
There're 2 ways to make data public:
- Create your own Content Provider.
- Add your data to existing Content Provider.
Example 1: Displays Bookmark of System Browser.
![](data:image/png;base64,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)
- Permission is required to access Browser Content. Declare 2 below lines in AndroidManifest.xml file:
- Retrieve data and display them in List view. Create a ListActivity:
- Permission is required to access Browser Content. Declare 2 below lines in AndroidManifest.xml file:
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"> <uses-permission android:name="com.android.broswer.permission.WRITE_HISTORY_BOOKMARKS">
- Retrieve data and display them in List view. Create a ListActivity:
package com.jbohn.contentprovider; import android.app.ListActivity; import android.database.Cursor; import android.os.Bundle; import android.provider.Browser; import android.widget.SimpleCursorAdapter; public class ContentProviderBrowserActivity extends ListActivity { @Override public void onCreate( Bundle savedInstanceState ) { super.onCreate( savedInstanceState ); setContentView( R.layout.activitybrowser ); //Projection for the interesting columns of a Bookmark String[] projection = new String[] { Browser.BookmarkColumns._ID, Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL }; //Do query to retrieve data(bookmarks) from Browser Cursor cursor = managedQuery( android.provider.Browser.BOOKMARKS_URI, projection, null, null, null ); //Put data to a List Activity String[] displayFields = new String[] { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL }; int[] displayViews = new int[] { android.R.id.text1, android.R.id.text2 }; setListAdapter( new SimpleCursorAdapter( this, android.R.layout.simple_list_item_2, cursor, displayFields, displayViews ) ); } }
Tobe continue...
(http://jbohn.blogspot.com)
0 comments:
Post a Comment