将具有自己的数据库的我的模块集成到另一个应用程序中

时间:2019-06-20 10:42:23

标签: java android aar

我有一个包含数据库的Notes应用程序,我需要在我的两个父应用程序中将此Notes应用程序用作lib或模块,如何在两个应用程序中使用它?

AAR:

如果我使用.aar,则有可能在aar模块中创建或存储数据库。

子模块:

如果我要使用子模块,则需要在每个项目中创建表格。

单个APP:

如果我要使用单个应用程序,如何共享我的数据库详细信息。

1 个答案:

答案 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