在Android中初始化一个大的常量数据结构

时间:2011-11-26 10:01:53

标签: android compiler-errors

我必须初始化一个大的常量数据结构,但是我收到编译器错误消息:

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

BUT

我还有更多的数据结构要初始化,将其放入数据库是一件非常麻烦的事情 - 再次,这是保密信息。

解决此问题的最佳方法是什么? 我是否真的必须将其分解为几个类文件或从数据库中读取它? 我真的试图避免使用DB方式,因为这些数据应该对应用程序是安全的。

非常感谢

1 个答案:

答案 0 :(得分:0)

  

我真的必须将其分解为几个类文件

将它分成几个方法可能就足够了。添加一些从超长构造函数调用的私有方法,并在那里移动部分代码。每种方法的长度可以是65535字节。