zoukankan      html  css  js  c++  java
  • Android开发:getContentResolver的使用

    getContentResolver的使用 分两种情况:

    一、在有Activity和Service的情况下

      getContext().getContentResolver().insert(...);

    1.getContext()是获得一个上下文对象(Context),一般在四大组件中都会获取上下文对象。

     2.在Activity和Service中,就没必要获取Context了,因为他本身就是,所以可以直接调用getContentResolver()。

    3.在ContentProvider中,就需要先调用getContext()获取到Context,然后调用getContentResolver() 获得ContentResolver对 象,也就是,getContext().getContentResolver().

    另外:

    (1)getContext().getContentResolver()返回的是ContentResolver 对象,ContentResolver负责获取ContentProvider提供的数据。

    (2) MainActivity.this.getContentResolver()+数据库操作 等同于 getContext().getContentResolver()+数据操作。

    二、在没有Activity的情况下

    例如:
    public class companyInfo{  
    public void AAA() throws Exception {  
    Uri scanUri = getContentResolver().insert(MediaStore.getMediaScannerUri(), values); 
    getContentResolver().delete(scanUri, null, null);  


    报错提示getContentResolver()不存在,需要通过activity或者service来实现。

    这个类的AAA()方法肯定是有activity或者service调用的,所以需要写一个带有Context参数的构造方法就可以实现:
    public class companyInfo{  
    private Context context;  
    public companyInfo(Context context){  
    this.context = context;  
    }  

    public void AAA() throws Exception {  
    Uri scanUri = getContentResolver().insert(MediaStore.getMediaScannerUri(), values); 
    context.getContentResolver().delete(scanUri, null, null);  
    }
    }  
    ————————————————
    版权声明:本文为CSDN博主「AFull-GF」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/daniel80110_1020/article/details/55260510

    Always Believe Something Beauitful Will Be Happen
  • 相关阅读:
    c语言判断最大数
    c语言复制字符
    C语言简单小问题
    c语言实现用指针遍历二维数组
    C语言有趣小程序
    C语言实现输入一个数,输出这个数的立方根
    C语言实现输入一个数,输出这个数的sin值
    c语言实现输出10000内所有素数,5个换一行
    输出10000内所有素数
    判断素数
  • 原文地址:https://www.cnblogs.com/Oude/p/12845471.html
Copyright © 2011-2022 走看看