Android内容提供者——Content Providers(一)
publicclassExampleProviderextendsContentProvider /* * Defines a handle to the database helper object. The MainDatabaseHelper class is defined * in a following snippet. */ privateMainDatabaseHelper mOpenHelper; // Defines the database name privatestaticfinalString DBNAME ="mydb"; // Holds the database object privateSQLiteDatabase db; publicboolean onCreate(){ /* * Creates a new helper object. This method always returns quickly. * Notice that the database itself isn't created or opened * until SQLiteOpenHelper.getWritableDatabase is called */ mOpenHelper =newSQLiteOpenHelper( getContext(), // the application context DBNAME, // the name of the database) null, // uses the default SQLite cursor 1 // the version number ); returntrue; } ... // Implements the provider's insert method publicCursor insert(Uri uri,ContentValues values){ // Insert code here to determine which table to open, handle error-checking, and so forth /* * Gets a writeable database. This will trigger its creation if it doesn't already exist. * */ db = mOpenHelper.getWritableDatabase(); } }
简单的总结一些Content Providers:
1.Content Providers是Android系统中四大组件之一,提供一套在客户端(client)和数据源(data source)之间的访问接口
2.Content Providers可以提供跨进程访问数据的功能,能暴露本地数据给其他应用访问
3.实现Content Providers只需要继承抽象类ContentProvider并实现必要的抽象方法即可,访问ContentProvider则根据URI来访问
以上简单介绍了下ContentProvider,资料来源是Android官方文档,有不足之处还望指教
参考:http://developer.android.com/guide/topics/providers/content-providers.html
欢迎关注我的新浪微博:@唐韧_Ryan