Android ContentProvider初始化不在应用程序启动时

时间:2011-08-31 08:27:25

标签: android dynamic android-contentprovider multiple-databases

是否可以在应用程序中初始化contentprovider?

因为我需要为每个用户/服务器组合创建一个数据库,而我正在使用contentprovider的oncreate方法中的登录信息创建数据库!

2 个答案:

答案 0 :(得分:1)

根据您尝试做的事情,您可以考虑将ContentProvider的数据库访问情境化(这可能是描述@Gary B.所获得的另一种方式):

初始化内容提供程序时,请创建一个数据库,您将在其中存储用户/服务器组合列表。然后,当用户登录应用程序时,创建相应的数据库并更新ContentProvider的主列表。

在ContentProvider的公共操作中,确定哪个用户/服务器组合处于活动状态(或正在请求),然后在安装时创建的master数据库中查找相应的数据库。然后,您可以读取用户/服务器特定信息并将其返回给调用者。

或者,您可能在一个数据库中实现这一切,但我对您推荐特定方法的要求不够了解...

答案 1 :(得分:0)

SQLiteOpenHelper通常是创建数据库的地方。更具体地说是onCreate(SQLiteDatabase)方法。它将在安装应用程序时创建数据库。