SQLiteOpenHelper类用上下文参数做什么?

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

 public MyDatabaseHelper(Context context) { super( context, // ??? "MyDatabase.db", // Database name null, // Cursor factory 1 // database version ); } 

SQLiteOpenHelper构造函数是如何处理上下文信息的?

对于我的应用程序,无论程序状态(上下文)如何,构造函数的行为都是一样的。 我可以在没有任何未来问题的情况下将null传递给上下文吗?

  • Android会议室:如何建立关系模型?
  • 如何在sqlite中删除数据库?
  • Android Sqlite IN,NOT IN语法
  • 如何限制Android SQLite表中的行数
  • 一个简单的Cordova android示例,包括Sqlite读/写和搜索
  • 如何将Room Persistence Library导入Android项目
  • COLLATE LOCALIZED ASC代表什么?
  • 如何在sqlite数据库中添加日期
  • 如果你提供一个空值,它将会创build一个内存数据库,但是你也需要为数据库名称参数提供null,所以它的处理是正确的。

    这在上下文的构造器文档中有logging

    用于打开或创build数据库文件的数据库名称的上下文,或者用于内存数据库的空值

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

    http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.4_r1.2/android/database/sqlite/SQLiteOpenHelper.java#SQLiteOpenHelper.0mContext