首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:代码太大

错误:代码太大
EN

Stack Overflow用户
提问于 2015-01-29 10:44:33
回答 1查看 6.4K关注 0票数 6

我正在制作一个应用程序,它在数据库上查找(我目前正在构建)。当我收到错误时,我已经完成了其中的10/12 :将太大的代码作为Gradle构建消息。

java文件基本上只是一个“数据库”(在另一个类中使用数据)。

它的形式如下:

代码语言:javascript
复制
static int[][] mDatabase10 = new int[][]{{1, 0, 0, 0, 11, 22},
        {1, 53, 42, 0, 41, 0},
        {7, 34, 11, 33, 32, 0}};

每个数组中有80个数组(其中12个):

代码语言:javascript
复制
static int[][][][] dbDatabase = {{mDatabase10, mDatabase10a, mDatabase10b, mDatabase10c,
        mDatabase10d, mDatabase10e, mDatabase10f, mDatabase10g, mDatabase10h, mDatabase10i,
        mDatabase10j, mDatabase10k, mDatabase10l, mDatabase10m, mDatabase10n, mDatabase10o,
        mDatabase10p, mDatabase10q, mDatabase10r, mDatabase10s, mDatabase10t, mDatabase10u,
        mDatabase10v, mDatabase10w, mDatabase10x, mDatabase10y, mDatabase10z, mDatabase11a,
        mDatabase11b, mDatabase11c, mDatabase11d, mDatabase11e, mDatabase11f, mDatabase11g,
        mDatabase11h, mDatabase11i, mDatabase11j, mDatabase11k, mDatabase11l, mDatabase11m,
        mDatabase11n, mDatabase11o, mDatabase11p, mDatabase11q, mDatabase11r, mDatabase11s,
        mDatabase11t, mDatabase11u, mDatabase11v, mDatabase11w, mDatabase11x, mDatabase11y,
        mDatabase11z, mDatabase12a, mDatabase12b, mDatabase12c, mDatabase12d, mDatabase12e,
        mDatabase12f, mDatabase12g, mDatabase12h, mDatabase12i, mDatabase12j, mDatabase12k,
        mDatabase12l, mDatabase12m, mDatabase12n, mDatabase12o, mDatabase12p, mDatabase12q,
        mDatabase12r, mDatabase12s, mDatabase12t, mDatabase12u, mDatabase12v, mDatabase12w,
        mDatabase12x, mDatabase12y, mDatabase12z, mDatabase13a},

        {mDatabase20, mDatabase20a, mDatabase20b, mDatabase20c, mDatabase20d, mDatabase20e,
                mDatabase20f, mDatabase20g, mDatabase20h, mDatabase20i, mDatabase20j,
                mDatabase20k, mDatabase20l, mDatabase20m, mDatabase20n, mDatabase20o,
                mDatabase20p, mDatabase20q, mDatabase20r, mDatabase20s, mDatabase20t,
                mDatabase20u, mDatabase20v, mDatabase20w, mDatabase20x, mDatabase20y,
                mDatabase20z, mDatabase21a, mDatabase21b, mDatabase21c, mDatabase21d,
                mDatabase21e, mDatabase21f, mDatabase21g, mDatabase21h, mDatabase21i,
                mDatabase21j, mDatabase21k, mDatabase21l, mDatabase21m, mDatabase21n,
                mDatabase21o, mDatabase21p, mDatabase21q, mDatabase21r, mDatabase21s,
                mDatabase21t, mDatabase21u, mDatabase21v, mDatabase21w, mDatabase21x,
                mDatabase21y, mDatabase21z, mDatabase22a, mDatabase22b, mDatabase22c,
                mDatabase22d, mDatabase22e, mDatabase22f, mDatabase22g, mDatabase22h,
                mDatabase22i, mDatabase22j, mDatabase22k, mDatabase22l, mDatabase22m,
                mDatabase22n, mDatabase22o, mDatabase22p, mDatabase22q, mDatabase22r,
                mDatabase22s, mDatabase22t, mDatabase22u, mDatabase22v, mDatabase22w,
                mDatabase22x, mDatabase22y, mDatabase22z, mDatabase23a},

        //so on until mDatabase123a...

最后,有一个函数将请求的数组返回给另一个类。

代码语言:javascript
复制
public static int[][] Chordlookup(int chordpart1, int chordpart2){

    return dbDatabase[chordpart1-1][chordpart2-1];
}

现在,根据我在互联网上读到的关于这个问题的文章,这与database.java类太大有关。我怎么才能解决这个问题?

我愿意接受建议,因为我对java的经验不太丰富.

编辑:

对代码所做工作的一点描述:

每个mDatabase都是一个和弦(例如,Cm7),每一组6 one是一个演奏和弦的位置:{1,0,0,0,11,22}一些和弦可能有一个和弦,有些和弦有更多和弦。

然后在dbDatabase中,每个块(mDatabaseX0到mDatabaseX3a)都是根(如A、B、C、D、E、F、G)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-29 10:49:57

代码以64K字节为限,当您初始化数组时,您可以使用代码进行此操作。

最好的选择是将数据存储在文件中并读取所需的数据。注意:该文件可以与应用程序一起部署,并直接从存档中获得。

另一个选择是使用字符串(多个字符串的长度不受限制)并对其进行解析。

编辑:

我建议您以人类可读的形式编写数据,如

代码语言:javascript
复制
Cm7 Bm6 Am7 ....
Dm8 Cm7 Dm8 ....
....
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28212694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档