Android开发:getContentResolver的使用

Android开发:getContentResolver的使用,第1张

概述getContentResolver的使用分两种情况:一、在有Activity和Service的情况下  getContext().getContentResolver().insert(...);1.getContext()是获得一个上下文对象(Context),一般在四大组件中都会获取上下文对象。 2.在Activity和Service中,就没必要获取Context了,因为他本身就是

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

总结

以上是内存溢出为你收集整理的Android开发:getContentResolver的使用全部内容,希望文章能够帮你解决Android开发:getContentResolver的使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1062972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存