2011-02-08 67 views
2

我是一名Flash开发人员,没有以前的Java经验,刚开始学习android开发。我正在尝试制作一个简单的儿童闪存卡应用程序,它包含一大堆动物图像以及他们制作的一系列声音。在android中使用对象

当前我有图库视图中的图像,将它们存储在一个数组中。我也有一系列的声音。因此,每个图像和相应的声音在阵列中处于相同的位置,因此很容易为正确的图像播放正确的声音。

现在我想洗牌,以便在每次启动应用程序时以不同的顺序显示。我设法将数组随机排序,但将图像和声音保存在每个数组中的相同位置,但是我可以感觉到这变得混乱,我相信这不是解决此问题的最佳方式。

如果这是一部flash电影,我会使用对象来链接图像和声音,并将对象粘在一个数组中。任何人都可以帮助我一些代码,这将实现相同的事情为Android?请记住,我是一个完全初学Java的人,并且已经用了与AS3相同的教程和基本概念。

+1

你能提供一些你已经有的代码吗?例如。你的图像和声音数组(它们是什么类型)等等。创建你自己的`Card`类是正确的方法,但你应该使用`List`而不是数组。 – 2011-02-08 17:13:07

回答

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)); 

你将有唯一要在这种情况下,“无序”是一个数组。

+0

非常感谢! :)现在关闭找到一个功能,随机混乱我的新名单! :) – 2011-02-10 02:33:59