Java 如何在contentProvider类中获取mainactivity.this-在android中

Java 如何在contentProvider类中获取mainactivity.this-在android中,java,android,android-sqlite,android-contentprovider,android-context,Java,Android,Android Sqlite,Android Contentprovider,Android Context,我正在用android编写一个内容提供商。我想编写查询实现。我正在contentProvider的查询函数中创建一个DbHelper对象。但我在创建此内容时出错,即我无法访问此内容提供程序类中的MainActivity.this。我需要MainActivity.this,这样我就可以初始化DbHelper并使用我已经在DbHelper类中实现的函数查询。我如何解决这个问题 代码: 谢谢。要获取Context只需在扩展ContentProvider的类中调用getContext() 示例: @Ov

我正在用android编写一个内容提供商。我想编写查询实现。我正在contentProvider的查询函数中创建一个DbHelper对象。但我在创建此内容时出错,即我无法访问此内容提供程序类中的MainActivity.this。我需要MainActivity.this,这样我就可以初始化DbHelper并使用我已经在DbHelper类中实现的函数查询。我如何解决这个问题

代码:


谢谢。

要获取
Context
只需在扩展
ContentProvider的类中调用
getContext()

示例:

@Override
    public boolean onCreate() {
        Context context = getContext();
        DBHelper = new DatabaseHelper(context);
        db = DBHelper.getWritableDatabase();
        return (db == null) ? false : true;
    }

向您显示代码并显示错误所在,因为我打赌您不需要总是做您想做的事情,如果您是Android中SQLite的新手,请尝试查看此处的一些提示它解决了问题但没有回答问题@科耶:是的,他需要背景,我向他展示了如何获得它。如果您试图在contentprovider中实际使用和
活动
,那么您使用它的方式是非常错误的
@Override
    public boolean onCreate() {
        Context context = getContext();
        DBHelper = new DatabaseHelper(context);
        db = DBHelper.getWritableDatabase();
        return (db == null) ? false : true;
    }