Android四大组件之ContentProvider

如果需要把应用程序私有的数据暴露给别的应用程序,让别的应用程序可以对自己私有的数据库实现增删改查(跨应用程序的/(跨进程使用)),就能用到ContentProvider,可以理解为私有数据库的一个代理。


编写contentProvider的步骤:

 

第一步:

创建一个数据库的帮助类,并且成功的执行,有了数据库, 并且成功创建表。


第二步:

为这个数据库去创建一个contentProvider (内容提供者)

publicclass MyContentProvider  extends ContentProvider {

   

//匹配器

         staticUriMatcher matcher = new UriMatcher(UriMatcher.NO_MATCH);

        

         static{

                                                   //通道        钥匙

                  matcher.addURI("com.lulu", "haha", SUCCESS);

         }

}

注意: MyContentProvider  写完了之后,需要清单文件中进行注册

<!--需要到清单文件中进行注册  ,并且同时要指定  (通道 ) -->

        <provider android:name="com.lulu.MyContentProvider  "android:authorities="com.lulu"/>

  

第三步:

这里要用到一个叫做ContentResolver的对象(内容解析者)

使用内容解析者,需要传递 匹配的规则, 也就是 通道以及 钥匙 , 只有这两个都正确的时候,才

可以通过后门程序去操作数据库

Uri uri =Uri.parse("content://com.lulu/haha");

                  ContentResolverresolver = getContentResolver();

 //操作数据库

                  resolver.delete(uri,null, null);

 

注意: 在编写的时候,   uri必须要以  content://  开头,并且跟上 通道以及 钥匙

例如: content://com.lulu/haha




猜你喜欢

转载自blog.csdn.net/Lulu_hsu/article/details/53302051