Bin*_*bik 2 android ipc aidl android-contentprovider
我想开发一个支持插件并为这些插件提供数据的应用程序。在我看来,在 Android 上实现此插件架构的正确方法是主应用程序一个 apk,每个插件一个 apk。
但是由于主应用程序和每个插件都在不同的 apk 中,我无法轻松地将(数据)对象从一个传递到另一个,应用程序在不同的进程中运行,即使它们在一个进程中运行(可以实现)它们有不同的类加载器,这不起作用。目前,我看到了两种从我的主应用程序获取数据到我的插件的有前途的方法:
ContentProvider. 这在我看来是预期的方法,因为它正是我想要实现的目标:向另一个进程提供内容/数据。Parcelable并使用AIDL或 - 如果我不需要多线程 - 使用 - 方法推动它们Messenger。在我看来,这种方法似乎更容易,因为我可以使用一个 ORM 库,它在后台关心数据库。我以前从未使用过 ContentProvider,但第一眼看到它时,我认为使用 ContentProvider 有点像手动构建 SQL 查询(如果我错了,请告诉我),我想避免这种工作!现在我想知道我是否遗漏了任何优点或缺点,以及这两种方法之间是否存在显着的性能差异。您更喜欢哪种解决方案,为什么要这样做?
提前致谢!任何答复表示赞赏!
内容提供程序只是在应用程序之间共享数据(以不同方式[数据库、文件等] 存储)的方式。如果您只想在应用程序之间共享数据,这是最好的方法。
但是,如果您希望服务使用数据执行某些任务(例如,将您提供的多个值相加),最好拥有远程服务。
在一般情况下,应用程序 - 插件交互更类似于远程服务。在这种情况下,主应用程序公开了一个远程服务(此应用程序的 API),插件可以使用它来执行某些操作。
| 归档时间: |
|
| 查看次数: |
2648 次 |
| 最近记录: |