我想知道我们是否可以直接使用像(contacts.db,mmssms.db)这样的数据库而不是内容提供商?
我有理由这样问。在我最近的项目中,我应该开发一个联系人应用程序。我使用内容提供商进行联系管理。正如我通过内容提供者学到的,我一次只能通过URI查询表,没有办法(至少,我没有找到)连接两个表,然后解析查询。
我读过,数据库只对最初创建它们的应用程序可见,那么我的应用程序是否能够访问这些数据库?
我只是自己手机的爱好开发者。我无意制作直接使用数据库的应用程序。我可以从设备中提取数据库,通过sqlite进行分析。我不是在反对内容提供商,或者他们现在不适合我的需求,只是它可以做到或不做?
有什么意见吗?
答案 0 :(得分:1)
内容提供商为您提供的不仅仅是数据库访问。能够在基础数据更改时使用Loaders自动重新加载数据(并更新UI)可以极大地简化您的应用程序。
内容提供商的目标更多是创建一个用于访问数据的受控层。没有什么可以阻止您创建将多个表连接在一起并返回结果连接结果的自定义URI。