getContentResolver() 这个方法是干啥的,它能返回一个ContentProvider吗,Androidmanifest.xml中的 <provider android:name="NotePadProvider" android:authorities="com.google.provider.NotePad"/>   如何理解 

解决方案 »

  1.   

    在AndroidManifest.xml中加入读写权限:android.permission.READ_CONTACTS
    android.permission.WRITE_CONTACTS
      

  2.   


    添加过了,不行 还是异常 
    The application ContentProviderDemo(process com.MyTest.ContentProviderDemo) has stopped unexpectedly. Please try again.
      

  3.   

    1.上面程序异常是什么原因,看来不是权限的问题??没有做过contact,但是感觉依然是权限的问题。请去参考下contact代码中,androidManifest.xml中定义的权限。2.People和Phones是不是一样的,都是来访问通讯录的,我看到有的代码写的是Phones,有的写的是People??N/A3.Content Resolver和Content Provider有什么区别,这一点很搅??Content Provider相对于server端,Content Resolver相当于client端。
    必须使用Content Resolver来访问Content Provider。4.为什么说android程序只能访问自己的数据,而要数据共享就需要用到Content Provider,我的理解是,有一个android程序数据存在数据库中,那其他的程序也能访问这个数据库啊,怎么说是只能访问自己的数据呢??linux有权限这个概念,而不同的数据库是存储在不同的程序所在目录中的。
    例如:
    程序A,这个程序没有使用共享数据库,那么它的数据库,最后就存储在了/data/data/com.android.a/database这个目录下。其它程序无法访问。程序B,这个程序使用了共享的数据库,那么就需要为其写一个contentprovider。并且设置访问权限。
    contentprovider的数据库就会存储在/data/data/com.android.provider.b/database/目录下。
    而程序B,其一般就不会再使用其他的数据库,只会通过contentResolver来访问contentprovider提供的接口,将数据数据存储在/data/data/com.android.provider.b/database/中。
      

  4.   

    今天搞的几个Content Provider的例子,都跑不起来,都异常,真郁闷 
      

  5.   

    应该是权限的问题
    要不你看看apidemo
    那里面好像有例子