有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为一系列应用程序提供独立的内容提供程序

我将为安卓创建一套工具。这些工具需要跟踪一群人,一个用于观察减肥的应用程序,另一个用于控制同一个人的健身活动等。我认为最有效的方法是——对所有应用程序使用相同的数据库,我想使用内容提供商over db是个好主意。有没有一个共同的方式来做这样的事情

当其中一个工具第一次运行时,为db和content provider创建一个虚拟应用程序并将其作为依赖项安装,怎么样

PS对不起我的英语my imagination


共 (1) 个答案

  1. # 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> 
    

    然后用户可以按照他们想要的顺序安装应用程序,并且可以卸载一个应用程序,而另一个应用程序仍然可以访问内容提供商。这样做的一个“优势”可能是,由于内容提供商没有应用程序图标,用户尝试卸载它的可能性较小。但您仍然必须确保已安装内容提供商

    老实说,我还没有找到一个适合这种情况的解决方案,我说的是谷歌的推荐或最佳实践。我发现这是>https://stackoverflow.com/a/6786587/2017375它试图解决将内容提供商放入所有应用程序的情况。我还没有测试过,但你可以试试