Альтернативный метод намерений для перемещения длинного списка переменных между классами? - PullRequest
0 голосов
/ 31 декабря 2011

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

В настоящее время я загружаю набор из 30 массивов из нескольких заранее созданных баз данных во время начального класса, и я использую намерения для перемещения этого набора массивов назад и вперед между моими классами. Проблема в том, что это приводит к очень длинным дополнительным последовательностям кода в каждом из моих классов. Чтобы привести пример, после первого экрана я должен ввести код в каждом классе:

Intent intent = new Intent (getApplicationContext(), NextScreen.class);
intent.putExtra("array1", Array1);
// ... 30 more arrays

, а затем

Bunble b = getIntent().getExtras();
Array1 = b.getStringArray("array1");
// ... 30 more arrays

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

Ответы [ 3 ]

1 голос
/ 31 декабря 2011

Я предлагаю вам создать класс, в котором хранится вся ваша информация, а затем сделать этот класс Parcelable, чтобы он мог перемещаться через действия: Пример Parcelable .

0 голосов
/ 31 декабря 2011

Попробуйте использовать одноэлементный класс. Это будет похоже на класс «Модель» в паттерне MVC.

Тем не менее, соблюдайте осторожность при использовании этого, согласно этому обсуждению:

Синглтоны против контекста приложения в Android?

0 голосов
/ 31 декабря 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...