1

我在我的应用程序中实现了插件系统。插件作为独立应用程序存在。

从主应用程序中的插件访问可绘制对象的最佳方法是什么?

4

2 回答 2

7

你有几个选择:

  • ContentProvider - 不一定需要基于SQLite数据库。

  • 清单属性android:sharedUserId

    来自文档:

    将与其他应用程序共享的 Linux 用户 ID 的名称。默认情况下,Android 会为每个应用程序分配其自己的唯一用户 ID。但是,如果两个或多个应用程序的此属性设置为相同的值,则它们都将共享相同的 ID — 前提是它们也由相同的证书签名。具有相同用户 ID 的应用程序可以访问彼此的数据,并且如果需要,可以在同一进程中运行。

    http://developer.android.com/guide/topics/manifest/manifest-element.html#uid

  • PackageManager.getResourcesForApplication()检索与应用程序关联的资源。

    用法:

    PackageManager pm = getPackageManager();
    try {
        Resources resources = pm.getResourcesForApplication("com.example.app");
        int id = resources.getIdentifier("ic_launcher", "drawable", "com.example.app");
        Drawable d = resources.getDrawable(id)
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }
    
于 2012-07-24T08:44:22.190 回答
0

我认为 ContentProvider 是您的最佳选择。它们专门设计用于“在多个应用程序之间共享数据”。这是来自 developer.android 的参考:http: //developer.android.com/reference/android/content/ContentProvider.html 这里是详细指南: http ://www.vogella.com/articles/AndroidSQLite/article .html

于 2012-07-24T07:53:38.283 回答