我有一个包含数据库的Notes应用程序,我需要在我的两个父应用程序中将此Notes应用程序用作lib或模块,如何在两个应用程序中使用它?
AAR:
如果我使用.aar,则有可能在aar模块中创建或存储数据库。
子模块:
如果我要使用子模块,则需要在每个项目中创建表格。
单个APP:
如果我要使用单个应用程序,如何共享我的数据库详细信息。
答案 0 :(得分:1)
我想,这是使用Content provider的最佳选择。
但是,内容提供商主要旨在供其他人使用 应用程序,它们使用提供程序客户端访问提供程序 宾语。提供商和提供商客户共同提供一致, 数据的标准接口,还处理进程间 通信和安全的数据访问。
通常,您在以下两种情况之一中与内容提供者合作;您 可能想要实现代码以访问以下位置的现有内容提供商 另一个应用程序,或者您可能要创建一个新的内容提供程序 在您的应用程序中与其他应用程序共享数据。
来源:https://developer.android.com/guide/topics/providers/content-provider-basics
在Notes应用程序中创建内容提供程序后,其他应用程序可以由内容解析器访问。这与您在Android上访问书签或联系人的方式完全相同。
另一个建议:如果只想在应用之间共享,也不要忘记注意安全性。
如果您正在使用内容提供商在彼此之间共享数据 自己的应用,最好使用android:protectionLevel 属性设置为签名保护。签名权限不 需要用户确认,以便他们提供更好的用户体验 应用程序时,对内容提供者数据的访问受到更严格的控制 使用相同的密钥对访问数据进行签名。
来源:https://developer.android.com/training/articles/security-tips#ContentProviders