В конечном итоге наиболее часто наследуемый класс в иерархии моделей виджетов отвечает за поддержку всех полей, необходимых представлению. Он полагается на свои базовые классы для сохранения и извлечения информации. Мы спроектировали этот наиболее часто наследуемый класс таким образом, что клиенты, работающие с этими моделями напрямую, имеют дело с ним, поскольку этот класс наиболее уместен для них.
Например, когда экземпляр виджета создается изначально активностью конфигурирования, эта активность создает экземпляр одного из этих классов, наполняет его значениями и предлагает ему сохранить себя.
Поскольку этот класс нуждается в представлении, он поддерживает три поля:
name — имя персоны;
bday — дата следующего дня рождения;
url — URL-адрес, куда нужно зайти для покупки подарка.
Кроме того, класс имеет вычисляемый атрибут по имени howManyDays, который представляет количество дней, оставшихся до следующего дня рождения, начиная с сегодняшнего дня.
Также вы должны заметить, что этот класс отвечает за выполнение контракта сохранения. Вот необходимые для этого методы:
Как, этот класс использует несколько утилит, связанных с датами. Прежде чем перейти к объяснению реализации активности конфигурирования виджетов, мы рассмотрим их исходный код.
Несколько связанных с датами утилит
В содержится код служебного класса, используемого для работы с датами. Он принимает строку и проверяет ее на соответствие корректной дате. Он также вычисляет количество дней до указанной даты, начиная с сегодняшнего дня. Код достаточно очевиден и включен здесь для полноты картины.
Теперь давайте взглянем на реализацию активности конфигурирования, о которой шла речь ранее.
Опубликовал Kest
February 14 2015 14:01:25 ·
0 Комментариев ·
1977 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.