回答
您有幾種選擇:
ContentProvider - 沒有明確需要基於以上
SQLite
數據庫。清單屬性
android:sharedUserId
從文檔:
,將與其他 應用程序共享一個Linux用戶ID的名稱。默認情況下,Android會爲每個應用程序分配自己的 唯一用戶標識。但是,如果對於兩個或更多應用程序將此屬性設置爲相同的值 ,則它們將共享相同的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(); }
我認爲ContentProvider是您的最佳選擇。它們專門設計用於「在多個應用程序之間共享數據」。 下面是developer.android參考: http://developer.android.com/reference/android/content/ContentProvider.html 這裏是一個詳細的指南: http://www.vogella.com/articles/AndroidSQLite/article.html
我不會將圖像存儲在數據庫中。插件將由第三方開發者提供,並且實現整個SQLite來存儲圖像將會是一個問題。我正在考慮傳遞資源ID和訪問圖像。 – hsz 2012-07-24 07:56:27
- 1. 應用程序之間共享在C#
- 2. 應用程序和共享會話之間的共享DLL
- 3. Android之間共享應用程序之間的文件
- 4. 線程池是否在應用程序域之間共享?
- 5. ASP.NET MemoryCache在應用程序間共享
- 6. Android應用程序:在用戶之間共享數據
- 7. Symfony2 - 在多個應用程序之間共享用戶
- 8. 在使用gems的Rails應用程序之間共享模型
- 9. 在Android應用程序用戶之間共享令牌(數據)
- 10. 在幾個後端應用程序之間共享用戶表
- 11. 在Android應用程序和Jersey服務器應用程序之間共享類
- 12. 在Node.js應用程序和Rails應用程序之間共享會話
- 13. 如何在兩個ASP.NET應用程序之間共享應用程序緩存
- 14. 在兩個節點應用程序之間共享會話
- 15. 在應用程序之間共享彈簧安全配置
- 16. 在應用程序之間共享的模型:DataMapper Rails其他
- 17. 在我的其他應用程序之間共享數據
- 18. 在應用程序之間共享一個類屬性(字段)
- 19. django - 在應用程序之間共享數據
- 20. 在Android應用程序之間共享進度數據
- 21. C#在應用程序之間共享實例
- 22. 在多個Web應用程序之間共享PHP會話
- 23. 如何在2個angularjs應用程序之間共享數據?
- 24. Postgres - 在應用程序之間共享數據集
- 25. 在Heroku的2個應用程序之間共享數據庫
- 26. 在應用程序之間共享核心數據
- 27. 如何在iPhone應用程序和applewatch之間共享數據?
- 28. (OpenShift)不再可能在應用程序之間共享MongoDB?
- 29. 在Angular應用程序之間共享腳本
- 30. 在WPF和DNX Web應用程序之間共享代碼
謝謝。如果插件定義了hdpi/mdpi/ldpi drawables呢?如果我將調用'getDrawable',它會爲我提供有效的嗎? – hsz 2012-07-24 08:52:54
是的,它給你一個有效的。通過調用'getResources()'來獲取應用程序包的'Resources'實例,您將獲得與您獲得的'Resource'對象相同的資源。由於您無法訪問插件apk的'R.java'常量定義,因此必須按名稱獲取資源。你也可以直接查看插件的'R.java',並使用常量'public static final int ic_launcher = 0x7f02001f;'作爲id,但這有點棘手。 – biegleux 2012-07-24 09:10:09
我已經註冊了'BroadcastReceiver'來獲取關於已安裝插件的信息,所以我也可以傳遞插件drawable的資源ID。好吧,我明白一切。非常感謝biegleux! – hsz 2012-07-24 09:14:11