1

アプリケーションにプラグインシステムを実装しました。プラグインはスタンドアロンアプリケーションとして存在します。

メインアプリケーションのプラグインからドローアブルにアクセスするための最良の方法は何ですか?

4

2 に答える 2

7

いくつかのオプションがあります:

  • ContentProviderSQLite -データベースに基づいている必要はありません。

  • マニフェスト属性android:sharedUserId

    ドキュメントから:

    他のアプリケーションと共有される Linux ユーザー ID の名前。デフォルトでは、Android は各アプリケーションに固有のユーザー ID を割り当てます。ただし、この属性が 2 つ以上のアプリケーションで同じ値に設定されている場合、同じ証明書によって署名されている場合、それらはすべて同じ 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 に答える