2011-11-26 48 views
0

我必須初始化一個很大的恆定的數據結構,但我得到的編譯器錯誤消息:INIT一個大常量數據結構中的Android

The code of constructor MS_XXX(String) is exceeding the 65535 bytes limit 

這是怎樣的代碼可能看起來像:

public class MD_XXX { 

     public List<String> allElements; 

     public MD_XXX(String language) { 
      this.allElements = new ArrayList<String>(); 


      if (...) { 
       /* 0 */ allElements.add("some text0"); 
       /* 1 */ allElements.add("some text1"); 
       /* 2 */ allElements.add("some text2"); 
.. many more lines here 

但是

我也有更多的數據結構來初始化,把它放到數據庫中是一件很麻煩的事情 - 而且這又是一個機密信息。

解決此問題的最佳方法是什麼? 我是否真的必須將其分解爲幾個類文件或從數據庫中讀取它? 我真的試圖避免DB方式,因爲這些數據應該是安全的應用程序。

非常感謝

回答

0

難道我真的要打破這種成幾個類文件

這可能是足以將其分割成幾個方法。添加一些您從該超長構造函數調用的私有方法,並將代碼的一部分移動到那裏。每種方法可以是65535字節長。

+0

是的,你是對的 - 幸運的是非常感謝。但這實在令人失望。在使用XCode進行iPhone編程時,這可以毫無問題地工作。 – user387184

相關問題