您的位置:首页 > 移动开发 > Android开发

如何在非Activity类中调用getContentResolver()方法

2013-10-22 22:27 806 查看
        之前说过,自己在Android开发方面经验并不多,可能一时半会写不出电东西来。没想到今天就有的写了,其实主要还是来自于实际工作,在工作中遇到了问题,自己搞不定了,就到网上去查找资料,找来找去最后也就把这个问题搞明白了。

        今天在工作中,遇到了一个问题,就是在非Activity的一个类中,需要调用getContentResolver方法。当时我很淡定的按照之前在Activity中的法子来调用,然后编译的时候系统也很淡定的告诉我,这里出错了。好吧,由于自己在Android方面一知半解,只能到网上查找资料了。

        按照自己的习惯,先来到Android的官网进行搜索,Android Developers给出的答案也超级简洁:该方法属于Context的public abstract ContentResolver getContentResolver ()方法,作用也非常单调,就是返回一个ContentResolver的实例。其实,发现这个方法属于Context后,我心里就大概有谱了,尽管不太确定,但根据自己那点浅薄的经验来看,Context累中的方法一般在Activity中可以直接用,但在其他地方嘛,就另当别论了。

        实际上,在一个普通的类中要想使用getContentResolver()方法,关键还在于传递一个Context的实例,只要有了Context,一切都好说。很简单,在该类中构造一个方法,获取Context实例即可。
private Context context;

public transContext(Context context) {
this.context = context;
}


        在类中需要添加的代码基本上只有这点了,然后在需要调用getContentResolver()方法的地方,直接写context.getContentResolver(),就能够获取ContentResolver的实例了。

        也许这个问题对稍微有点经验的无量阁电子书老鸟来说都算不上是个问题,就权当是自己在学习Android过程中的一个小小的记录吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android Context
相关文章推荐