我正在使用内容提供程序来管理我的应用程序数据,该数据未与其他应用程序共享。但是,有一些样板代码,例如将光标转换为域对象。ORMLite提供了一种更优雅的方式,可以将数据库条目直接映射到域对象。因此,我想用ORMlite替换内容提供程序。但是我有些担心:
是否应该用ORMLite替换内容提供者?
我不认为,您可以将其与带有Content Provider的ORM进行比较。ORMLite提供了以下功能链接到用户,并且在开发时具有完全独立的目标。
但是,除了您提到的内容之外,它们还有内容提供商的其他一些好处。
如果要在多个应用程序或流程之间共享日期。可能现在,您尚无任何计划,但似乎您的应用程序数据库很繁重,将来,如果您打算与第三方或另一个应用程序共享数据,则可以与内容提供商进行选择。
内容提供程序是所有Android版本的标准配置,这也意味着您的应用程序很安全。我很确定ORMLite也很稳定。但是您真的想冒险吗,特别是如果这样做不节省您的时间或您没有任何业务要求的话。Android API已经分散了,您是否还要承担其他工作负载?
如果您想将数据上传到云,很容易与SyncAdapter集成
使用android安全和权限功能。
您对处理Content Provider所需的额外代码是正确的。
现在,我正在从事一个大约有20张桌子的项目。我为每个表创建了一个DAO。基本上在内部使用Content provider。
DAO->内容提供程序-> SQL Lite打开帮助器
Class XyzDao{
private final Context mContext;
XyzDao(Context context){
this.mContext=context;
}
public String getMyData(){
//content provider code
return myData;
}
public void setMyData(String x, int y, double z){
//content provider code to set the data
}
}
我可以不用Content Provider来完成,现在就可以满足当前的要求,但仍然可以选择这条路线。您可能会问为什么?
而且,最好的部分是从任何活动中,我都可以简单地使用DAO访问数据库。
或者,您可以直接从DAO访问SQLLiteOpenHelper。
最终,每种选择都取决于您的业务需求。如果您有很多持久性对象,那么ORMLite可能是一个不错的选择。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句