3

我是一个没有Java经验的flash开发人员,刚开始学习android开发。我正在尝试制作一个简单的儿童抽认卡应用程序,其中包含大量动物的图像和它们发出的大量声音。

目前我在画廊视图中有图像,将它们存储在一个数组中。我也有一系列的声音。所以每个图像和对应的声音在数组中的位置相同,因此很容易为正确的图像播放正确的声音。

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

如果这是一部 Flash 电影,我会使用对象来链接图像和声音,并将对象粘贴在一个数组中。任何人都可以帮助我提供一些可以为 android 实现相同目标的代码吗?请记住,我是一个完整的 Java 初学者,并且已经通过与 AS3 相同的教程和基本概念走到了这一步。

4

2 回答 2

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

在这种情况下,您唯一需要“打乱”的是一个数组。

于 2011-02-08T17:12:47.440 回答
1

正如 Christian 所说,您当然可以在 Android 应用程序中使用类。

但是,由于移动设备还没有像台式机或笔记本电脑那样强大的处理能力——我建议你在运行你的 OOP 习惯之前阅读下面的文章;)

对象创建

吸气剂/二传手?不在这里!

对于上述项目和更多...

于 2013-04-22T10:49:53.113 回答