我是一名没有Java经验的Flash开发人员,刚开始学习android开发。我正在尝试制作一个简单的孩子的闪存卡应用程序,包括大量的动物图像,以及他们制作的大量声音。
目前我在图库视图中有图像,将它们存储在一个数组中。我也有一系列的声音。因此,每个图像和相应的声音都在阵列中的相同位置,因此很容易为正确的图像播放正确的声音。
现在我想要洗牌,以便每次启动应用时它们以不同的顺序出现。我设法将数组随机排列,但是将图像和声音保持在每个阵列中相同的位置,但我觉得这变得混乱,我确信这不是解决这个问题的最佳方法。 / p>
如果这是一部flash电影,我会使用对象链接图像和声音并将对象粘贴在一个数组中。任何人都可以帮我一些代码,这将实现Android的相同的东西?请记住,我是Java的初学者,并且已经掌握了与AS3相同的教程和基本概念。
答案 0 :(得分:5)
我会使用对象链接图像和声音,并将对象粘贴在数组中。
我也是。只需创建一个包装动物和声音的类:
class SomeNiceName{
private final Bitmap animal;
// I'm guessing the sound is in the resources
// folder, thus you only need an integer to reference it
private final int sound;
public Animal(Bitmap animal, int sound){
this.animal = animal;
this.sound = sound;
}
public Bitmap getAnimal(){
return animal;
}// missing getter for sound
}
在这种情况下,我使用的是一个在这种情况下很方便的不可变对象。然后你可以创建一个这些动物的数组,更好的是列表:
// array
SomeNiceName[] array = new SomeNiceName[blah];
array[0] = new SomeNiceName(someBitmap, theSound);
// or with lists:
List<SomeNiceName> list = new ArrayList<SomeNiceName>();
list.add(new SomeNiceName(someBitmap, theSound));
在这种情况下,你唯一需要“混乱”的是一个阵列。
答案 1 :(得分:1)
正如Christian所说,你当然可以在Android应用程序中使用class。
但是,由于移动设备没有巨大的处理能力,如台式机或笔记本电脑 - 我们建议您在运行OOP习惯之前阅读以下文章;)