2013-03-23 1 views
0

Предположим, я хочу написать клиент-мессенджер.
Я предполагаю, что будет по крайней мере 2 мероприятия:

UserManagerActivity - позволяет управлять учетными записями и ведение журнала в
MainActivity - отображение списка контактов и т.д.Доступные по всему миру объекты - самый изящный способ

Но если я сделать это таким образом, есть. будете некоторые объекты, которые должны быть доступны для обоих из них:

ConnectionManager - будет использоваться для входа в систему, отправка/прием сообщений и т.д.
UserManager - холдинг информирует о пользователях.
MusicPlayer - звуковые эффекты.


Итак, что это самый элегантный способ дать оба вида деятельности доступ к этим объектам?

Я слышал о 4 возможностях:
- Использование одноэлементного рисунка.
- Передача объектов между действиями с помощью Bundle.
- Расширение класса приложения.
- Использование класса обслуживания (кажется мне сложным).

  1. Какой вариант вы считаете лучшим?

  2. Не доступны ли общедоступные классы для обозначения плохого проекта?

  3. Как я могу научиться проектировать элегантные и эффективные приложения «скелеты»?

Заранее благодарен!

+0

Q: не глобально доступные классы а .. плохой знак «? A: Нет, они часто являются * идеальным решением * Я хотел бы рассмотреть вопрос об использовании класса Application:. [Android глобальных переменных] (http://stackoverflow.com/questions/1944656/android-global-variable). Q: Как я могу научиться создавать элегантные и эффективные приложения «скелеты»? A: Изучить код других. И учиться на своих собственных успехах, а не на -со-успехи;) ИМХО ... – paulsm4

+1

Старая шутка: парень садится в такси в Нью-Йорке и спрашивает таксиста: «Как мне добраться до Карнеги-холла?» Кабби отвечает: «Практика, практика, практика «Также применимо к программированию, IMHO ... – paulsm4

ответ

3

Android создал класс приложения, хотя бы частично, для обработки этого самого случая. Они гарантируют, что будет только один экземпляр.

http://developer.android.com/guide/faq/framework.html

+1

Кроме того, самым простым способом является сохранение ссылки на деятельность или и то и другое в Приложении ионный класс, публикуйте все, что вас интересует, и вот оно :) – crios