Модераторы: javastic
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Общие данные для нескольких Activity, Паттерн, способ, метод, фишки skd? 
V
    Опции темы
spyswamp
  Дата 8.7.2011, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 4
Всего: 7



День добрый.

Задача творческая. Есть, скажем, некоторый список данных. Пусть это будем map. Есть программа с несколькими Activity, которым в тот или иной момент времени требуется доступ к этому map'у: получение данных, изменение данных. Режим работы синхронный, т.е. особо можно не париться насчет многопоточности.

Так вот. Как вы организовываете подобные вещи? Для начала я использовал обычный singleton, который предоставлял интерфейс для работы с этим самым map'ом. А все Activity хватали instance и работали с объектом когда им требуется (в частности, когда я тыкал по кнопкам в программе). Но мне кажется, это немного моветон.
Была еще идея хранить данные в главной Activity, но это немного противоречит понятиям разделения данных и проекции для отображения. Плюс, в этом случае, кидаться данными между Activity тоже выглядит подозрительным.

Поэтому на таком простом примере хочу поучиться. Ибо на практике я пока видел только адовые решения Java-"программистов", которые по криворукости сравнимы разве что с безрукими. А в особенности java-приложений, само-собой, надо вникать.

Спасибо за внимание.


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
spyswamp
Дата 11.7.2011, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 4
Всего: 7



60 просмотров и ни одного ответа. Признаться, я удивлен. Тут есть вообще программисты? smile


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
ivanovpv
  Дата 11.7.2011, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 9
Всего: 28



Здесь нет программистов - сплошь и рядом developer'ы  smile 

Я организовываю подобное безобразие следующим образом:
1) Объявляю собственный объект Application (требуется его декларация в AndroidManifest.xml)
2) Далее, по сути уже полагаюсь на ось, которая мне гарантирует, что объект Application всегда один - фактически получается паттерн Singleton
3) Ну а коли так, то уж дальше дело техники как организовать

Небольшое уточнение - в Android очень удобно хранить данные в объекте типа Bundle - а в него уже можно вкладывать все что угодно, то есть в классе который будет хранить данные достаточно держать ссылку на Bundle и ложить туда то что нужно (особенно если это всякая короткоживущая мелочь)


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
spyswamp
Дата 11.7.2011, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 4
Всего: 7



ivanovpv, понятно, суть та же - singleton. Кстати, спасибо за наводку, почитаю про этот Application.  smile 

Про Bundle я в курсе. Это как раз между Activity (грубо говоря) ими кидаться хорошо.


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
APXEOLOG
Дата 19.7.2011, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 12.4.2007
Где: Мурманск

Репутация: нет
Всего: 1



А чем плох Singleton? Не вижу смысла городить тонны оберточного кода если есть проверенный способ.
--------------------
Ученые долго не знали как назвать частоту.Потом так и назвали Hz.
PM MAIL ICQ   Вверх
spyswamp
Дата 19.7.2011, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 4
Всего: 7



APXEOLOG, а ничем. Вот тот же Application - такой же синглтон, только к нему есть базовые функции доступа в остальных классах.


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Android | Следующая тема »


 




[ Время генерации скрипта: 0.0638 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.