2011-02-08 4 views
2

Я флэш-разработчик, не имеющий опыта Java, только начинающий изучать развитие Android. Я пытаюсь создать приложение для флеш-карт простого ребенка, состоящее из загрузки изображений животных и загрузки звуков, которые они создают.Работа с объектами в android

В настоящее время у меня есть изображения в виде галереи, храня их в массиве. У меня также есть массив звуков. Таким образом, каждое изображение и соответствующий звук находятся в одном и том же положении в массиве, поэтому легко воспроизводить правильный звук для правильного изображения.

Теперь я хочу перетасовать карты, чтобы они отображались в другом порядке каждый раз, когда приложение запускается. Мне удалось перетасовать массивы в случайный порядок, но сохранял изображения и звуки в одинаковых позициях в каждом массиве, но я чувствую, что это становится беспорядочным, и я уверен, что это не лучший способ решить эту проблему.

Если бы это был флеш-фильм, я бы использовал объекты для связывания изображений и звуков и вставлял объекты в массив. Может ли кто-нибудь помочь мне с некоторым кодом, который достигнет того же самого для Android? Имейте в виду, что я являюсь полным новичком с Java и добрался до этого с учебниками и базовыми концепциями, такими же, как AS3.

+1

Не могли бы вы привести пример кода того, что у вас уже есть? Например. ваши массивы образов и звуков (какой тип они?) и т. д. Создание собственного класса «Карта» - это правильный путь, но вы, вероятно, должны просто использовать «Список», а не массив. –

ответ

5

Я бы использовал объекты, чтобы связать изображения и звуки и вставить объекты в массив.

Me too. Просто создать класс, чтобы обернуть животное и звуки:

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

большое спасибо! :) теперь, чтобы найти функцию для случайного расстройства моего нового списка! :) –

1

Как сказал Кристиан, вы можете использовать класс в своем приложении для Android.

Но, так как мобильные устройства имеют не большие возможности обработки, такие как настольные компьютеры или ноутбуки -yet-, я советую вам прочитать статьи ниже перед запуском вашей объектно-ориентированное программирование привычки;)

Object Creation

Getters/Setters? Not here!

For items above and more...