2016-12-20 37 views
3

正如我們已經知道的那樣,我們無法在運行時更改res文件夾的值和文件,來自服務器的Android string.xml資源文件

我正在開發一款應用程序,其中我們支持的語言超過25種,由於這些字符串文件,APK的大小急劇增加,我們非常關注APK大小,所以我們不想在項目中保留所有這些string.xml文件(apk內)。

我們現在的想法是,我們將只保留英語string.xmlres,和所有其他區域設置string.xml應該從需求的基礎上應用推出的服務器上下載。

所以我們打算創建我們自己的getResource(key, currentLocale),然後這將從將從服務器下載的XML(或文本)文件讀取。

請圍繞它提出更好的想法或某些方面,

感謝支持

+1

你可以使用SQLite數據庫的一些實施?用所需的語言填充數據庫,然後從中讀取數據。 –

+0

希望這會幫助你:http://stackoverflow.com/questions/9365328/can-localization-resources-be-downloaded-in-runtime – MdFazlaRabbiOpu

回答

0

這裏Sqlite選項更適合您的情況。

以下爲數據基表(例如LangTable。)

結構--------- ---------- -------- - ------ --------- -------
langKey Locale_En Local_hn Local_Fr ...................... .n

---------- ---------- --------- -------- ------ - ------ ---

btnOk OK ..... ...... ..........

btnCancel取消含有........ .... .... .......

現在,這裏是方法獲得相關的本地字符串

public String getResource(String key, String local){ 

String value = ""; 

value = Select local from LangTable where langKey = 'key'; 

return value; 

} 
相關問題