我打算在我的项目中使用GreenDAO
。我已经通过创建测试项目对其进行了测试。但是,我有几个要求需要满足。
我的应用程序的数据库将被加密。为此,我们计划使用 SQLCipher .我找到了这个 link .我正在研究它,但有兴趣知道原始 GreenDAO 项目中是否有可用的东西。
由于我的应用程序会与服务器同步数据,因此我将使用 SyncAdapter因为我不想自己做所有繁重的工作,而这已经由 Android 框架完成了。但它需要
Content Provider
才能使用。那么,如何将 GreenDAO 与Content Provider
一起使用。
更新 2
我的项目有七个实体。我对实体使用了 addContentProvider()
。并生成七个不同的内容提供者。有什么办法可以将所有 sqlite 表放在一个内容提供程序中吗?
最佳答案
我有一个使用 greenDao 和内容提供程序运行的项目。首先我使用 ProviGen只是为了生成内容提供者并使用内容解析器进行查询,但后来项目变得非常大,所以我决定实现 greenDAO,我所做的是使用在 provigen 中创建的 contentProvider 从中获取数据库,所以现在我有contentProvider 和 provigen 都附加到同一个数据库。我鼓励您创建您的 ContentProvider 并将您的 daoMaster 附加到使用它生成的数据库。这是我在 onCreate 应用程序类中使用的一段代码:
private static DaoSession daoSession;
public void onCreate(){
SQLiteOpenHelper myAppOpenHelper = new ProvigenContentProvider().openHelper(this); //ContentProvider created previously
SQLiteDatabase db = myAppOpenHelper.getWritableDatabase();
DaoMaster daoMaster = new DaoMaster(db);
daoSession = daoMaster.newSession();
}
之后就可以使用 greendao 了:
public DaoSession getDaoSession(){
return daoSession;
}
在那里你可以同时拥有 contentProvider 和 greenDao。如果您还没有开始您的项目,请手动创建内容提供者并在此处使用相同的代码创建 DaoMaster。祝你好运
关于android - 将 Green DAO 与内容提供者一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26073144/