Android SQLiteOpenHelper类对上下文参数做了什么?

Android SQLiteOpenHelper类对上下文参数做了什么?,android,database,sqlite,constructor,Android,Database,Sqlite,Constructor,我正在扩展SQLiteOpenHelper类。我的构造函数是 public MyDatabaseHelper(Context context) { super( context, // ??? "MyDatabase.db", // Database name null, // Cursor factory 1 // database version

我正在扩展
SQLiteOpenHelper
类。我的构造函数是

public MyDatabaseHelper(Context context) {
    super(
        context,         // ???
        "MyDatabase.db", // Database name
        null,            // Cursor factory
        1                // database version
    );
}
SQLiteOpenHelper构造函数对上下文信息做了什么


对于我的应用程序,无论程序状态(上下文)如何,构造函数的行为都是相同的。我是否可以为上下文传入null,而不会出现任何将来的问题?

如果提供null值,它将创建内存中的数据库,但还需要为数据库名称参数提供null,以便正确处理它

这在上下文的构造函数文档中有记录

用于打开或创建数据库的数据库名称的上下文 文件,或内存中数据库为空

此外,如果查看SQLiteHelper类本身的源代码,您将看到它使用mName值来决定是否使用mContext。在此处联机查看源代码:


谢谢!现在这更有意义了。我从来没有听说过grepcode,我想这个网站和我会很熟悉的!新手问题:数据库名称不是已经用于第二个参数了吗?那么上下文会是什么呢?上下文可以是活动或应用程序本身。从源代码看:context用于:1)获取数据库的完整路径。2) 在上下文对象上调用openOrCreateDatabase。