我最近一直在制作一个非常数据驱动的应用程序,其中我使用了很多数组。我试着寻找一个解决办法,但是这个问题很难简明扼要地表达出来,所以我还没能找到答案。如果有明显的错误,我会事先道歉。
目前,我在初始化类期间从多个预制数据库加载一组30个数组,并使用intent在类之间来回移动这组数组。问题是,这导致在我的每一个类中都有非常长的额外代码序列。举个例子,在初始屏幕之后,我必须在每个类中输入代码:
Intent intent = new Intent (getApplicationContext(), NextScreen.class);
intent.putExtra("array1", Array1);
// ... 30 more arrays
和
Bunble b = getIntent().getExtras();
Array1 = b.getStringArray("array1");
// ... 30 more arrays
我希望也许有一种方法可以将所有数组存储在一些资源或类中,以便稍后引用。
我建议你创建一个包含所有信息的类,然后使这个类Parcelable,以便它可以通过活动移动:
不使用数组,而是使用静态vector或arraylist创建类。创建用于更新数组的setter和getter方法。直接从多个类调用这些功能,你不需要传递值。只需将它们存储在一个类中,并使用同一个类从多个位置进行读写
尝试使用单例类。这就像MVC模式中的"Model"类。
但是,按照下面的讨论,在使用它时要小心:
Android中的singleton vs. Application Context ?