为一堆应用程序分离内容提供程序

时间:2014-06-18 01:20:20

标签: java android apk

我即将为Android创建一套工具。这些工具需要跟踪一组人,一个用于观察减肥的应用程序,另一个用于控制同一个人的健身活动等。我认为最有效的方式 - 使用相同的数据库用于所有应用程序,我想使用内容提供商over db是个好主意。是否有一种常见的方式来做这些事情?

为数据库和内容提供程序创建虚拟应用程序,并在其中一个工具首次运行时将其作为依赖项安装?

对不起我的英文my imagination

1 个答案:

答案 0 :(得分:1)

1)如果您使用其中一个应用程序安装内容提供商,则用户可以先尝试安装第二个应用程序(不提供商)。你无法控制它。如果用户使用内容提供商卸载应用程序,则其他应用程序将无用。

2)您无法将提供商放在所有应用中,因为您无法安装具有相同授权的内容提供商的多个应用。

3)您可以将内容提供商安装为单独的应用程序:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="org.example.cntntprvdr"
    android:versionCode="1"
    android:versionName="1.0" >
    <application >
        <provider
            android:name="org.example.cntntprvdr.BookProvider"
            android:authorities="org.example.cntntprvdr.BookProvider" >      
        </provider>
    </application>
</manifest> 

然后,用户可以按照他们想要的顺序安装应用程序,并可以卸载应用程序,另一个仍然可以访问内容提供商。一个&#34;优势&#34;这可能是因为内容提供商没有应用程序图标,用户尝试卸载它的可能性较小。但您仍需确保安装内容提供程序。

说实话,我还没有为这种情况找到合适的解决方案,我正在谈论Google推荐或最佳做法。我发现的是这个 - &gt; https://stackoverflow.com/a/6786587/2017375尝试解决将内容提供商放入所有应用的情况。我还没有测试过,但你可以尝试一下。