>内容提供者在多线程环境中工作正常.我不知道Ormlite是否是线程安全的.
>内容提供商可以广播数据库更改.我不知道Ormlite是否有这种支持.
> Android提供一些实用程序,如AsynQueryHandler,CursorLoader来做异步查询数据库.如果我使用Ormlite,我必须明确地创建一个线程或AsyncTask来执行查询.
解决方法
但除了你提到的事情外,他们是内容提供商的其他好处.
>如果要在多个应用程序或进程之间共享日期.可能现在你没有任何计划这样做,但似乎你的应用程序在数据库上很重,如果您计划与第三方或另一个应用程序共享您的数据,您可以随时与内容提供商选择.
>内容提供商是Android的所有版本的标准,也意味着您的应用程序是安全的.我很确定Ormlite也是稳定的.但是,您是否真的想要承担这一风险,特别是如果不节省您的时间,或者您没有任何业务要求. Android API已经碎片化了吗?
>如果要将数据上传到云端,可以很容易地与SyncAdapter集成
>使用android安全和权限功能.
现在我正在开展一个项目,我们有大约20个桌子.我已经为每个表创建了一个DAO.其中基本内部使用内容提供商.
DAO->内容提供者 – > sql Lite Open Helper
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 } }
我可以没有内容提供商,现在,目前的要求,将工作正常,但仍然我选择这条路线.你会问大概是为什么?
>异步操作
>轻松与平台/云端集成.
>减少代码少错误这么少的戏剧(想想如果我必须实现我们刚才讨论的那些任务)
而且,最好的部分是从任何活动我可以简单地使用我的DAO访问数据库.
或者,您可以直接从DAO访问SQLLiteOpenHelper.
原文地址:https://www.jb51.cc/android/310505.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。