我已开始在android中编写我的第一个应用程序,并注意到在SQLiteOpenHandler的构造函数中:
public SQLiteOpenHelper (Context context, String name, SQLiteDatabase.CursorFactory factory, int version)
我有一个" Context"变量哪个角色对我来说不清楚,因为我的直觉是认为在我创建它的上下文中只有一个DB可以存在同名NO mattar。我已查看manual它说:
参数: 用于打开或创建数据库的上下文
这确实帮助我找出了Context角色ether。 因此,我想问一下
答案 0 :(得分:1)
Context在数据库创建中的作用是什么?
在构建数据库文件的完整包私有路径时,需要获取应用程序的包名称。
具体而言,由openOrCreateDatabase()
调用SQLiteOpenHelper
Context.getDatabasePath()
。{/ 1}
是否会为不同的上下文创建不同的数据库实例,但是相同的数据库名称,工厂和版本?
不,只要上下文使用相同的应用程序,即共享清单中定义的相同包名称。
如果应用程序不同,应用程序专用数据路径将不同,数据库文件也会不同。