Работа с объектами в Android - PullRequest
3 голосов
/ 08 февраля 2011

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

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

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

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

Ответы [ 2 ]

5 голосов
/ 08 февраля 2011

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

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

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 голос
/ 22 апреля 2013

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

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

Создание объекта

Геттеры / сеттеры? Не здесь!

Для пунктов выше и более ...

...