Init是Android中的一个大常量数据结构

Init是Android中的一个大常量数据结构,android,compiler-errors,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.al

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

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
public class MD\u XXX{
公开名单等位基因;
公共MD_XXX(字符串语言){
this.allegements=新的ArrayList();
如果(…){
/*0*/allegements.add(“一些文本0”);
/*1*/等位基因。添加(“一些文本1”);
/*2*/等位基因。添加(“一些文本2”);
…这里还有很多行吗
但是

我还需要初始化更多的数据结构,将其放入数据库是一件非常麻烦的事情——再说一遍,这是机密信息

解决这个问题的最好办法是什么? 我真的必须把它分解成几个类文件还是从数据库中读取它? 我真的尽量避免使用DB方式,因为这些数据应该对应用程序是安全的

非常感谢

我真的必须把它分解成几个类文件吗


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

是的,你是对的,幸运的是,非常感谢。但这真的令人失望。在使用XCode的iPhone编程中,这一点对你来说很有用没问题。