ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android开发:getContentResolver的使用

2020-05-07 20:58:47  阅读:683  来源: 互联网

标签:context getContentResolver getContext 开发 Context Android null public


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

标签:context,getContentResolver,getContext,开发,Context,Android,null,public
来源: https://www.cnblogs.com/Oude/p/12845471.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有