2010-05-13 115 views
6

我的應用程序將爲每個使用它的公司定製。直到現在,我一直在從資源文件加載圖像和字符串。這個想法是,默認資源將隨應用程序一起分發,公司特定的資源將在我們的服務器上點擊鏈接從電子郵件啓動初始化意圖後加載。有誰知道如何替換資源文件?我真的想繼續使用資源文件來避免重寫很多代碼/ XML。下載並替換Android資源文件

我會從我們自己的服務器上分發應用程序,而不是通過應用程序商店,這樣我們可以爲每個公司分配一個版本,但不幸的是,這會給我們的客戶帶來相當討厭的安全警告。

回答

10

有誰知道如何替換 資源文件?

這是不可能的,除非通過部署更新APK。 APK數字簽名,不能在運行時修改。

7

不,這是不可能的,但這裏是你可以做什麼,而不是...在資產文件夾中的圖片等複製。從資產文件夾,複製他們在應用程序目錄..即數據/數據運行/ yourapppackage/yourresourcefolder 使用從運行時文件夾中的圖片等。即代碼說,.. ... imageView.setBackgroundDrawable(data/data/apppackagename/download/themename/resourcename)現在 當您從運行路徑下載你的資源,保持與主要的名稱和路徑爲圖像的XML文件作爲鍵值對..有approprite枚舉的,在代碼和圖像路徑存儲在運行時的HashMap ..

+1

所以,基本上,你所提出的建議而不是使用Android的[資源](http://developer.android .com/guide/topics/resources/resources-i18n.html)系統,只需使用他們的fil存儲呢? – Casebash 2010-05-13 22:59:46

+0

我會贊成這個答案,除了你的第一句話說「是可能的」,當它實際上不能完成,這只是一個工作。如果你糾正了這個問題,那麼我會對它進行調整 – Casebash 2010-06-01 07:17:46

+0

@Casebash我知道你的意思是「如果你改正了這個」。所以基本上你不能替換可繪製的文件夾,即資源文件夾,但可以引用從運行時路徑中獲取的圖像。因此,可能我並不是說,從資源文件夾中替換圖像,但在運行時替換圖像的解決方案是可行的,只要您提供運行時路徑。對不起造成的不便之處。 :) 謝謝, Alok。 – 2010-07-29 14:50:10