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

        之前说过,自己在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)