【发布时间】:2019-02-13 12:17:04
【问题描述】:
我即将创建两个具有相同 SQLite 数据库的应用程序。我浏览了this 链接。但这没有意义。我必须从两个应用程序更新数据库。请提出一种或多种更好的方法。
【问题讨论】:
标签: android android-sqlite android-contentprovider
我即将创建两个具有相同 SQLite 数据库的应用程序。我浏览了this 链接。但这没有意义。我必须从两个应用程序更新数据库。请提出一种或多种更好的方法。
【问题讨论】:
标签: android android-sqlite android-contentprovider
你应该阅读Content Provider
内容提供者是 Android 的主要组成部分之一 应用程序,向应用程序提供内容。它们封装数据 并通过单个 ContentResolver 将其提供给应用程序 界面。仅当您需要共享时才需要内容提供者 多个应用程序之间的数据。例如,联系人数据是 由多个应用程序使用,并且必须存储在一个内容中 提供者。如果您不需要在多个之间共享数据 您可以通过 SQLiteDatabase 直接使用数据库的应用程序。
https://developer.android.com/guide/topics/providers/content-providers
https://developer.android.com/reference/android/content/ContentProvider
【讨论】:
Content Provider 是与其他应用程序共享数据库的好方法。
当您创建内容提供者时,您可以定义数据库的哪一部分也可以共享。
内容提供者具有以下部分- 1.扩展ContentProvider类的类 2. 将这个 ContentProvider 与 Android 操作系统上的其他内容区分开来的权限。 3. 将 Uri 保存到要与其他应用程序共享的表和列的 Contract 类 4. ContentResolver 从 ContentProvider 访问数据 5. 一组用户定义的写入和读取共享 ContentProvider 的权限。权限仅允许您授权的那些应用访问您的 ContentProvider
这里有一个关于 ContentProvider 的使用以及如何与其他应用程序共享数据库的简单教程-https://www.tutorialspoint.com/android/android_content_providers.htm
【讨论】: