#android
Только сделал старт в изучении android. В общих чертах понимаю что adapter - это что-то, промежуточное между моделью и представлением. Но помогите лучше понять, что это такое и все его возможности и применения. П.С. если можно какие-то ресурсы или материалы.
Ответы
Ответ 1
Начнем с того, что Adapter это не какой то неведомый абстрактный класс, а один из основных структурных шаблонов проектирования, который описан и разобран максимально подробно. в общем случае, назначение адаптера - преобразовать один вид информации в другой, без вмешательства в исходное состояние информации. Известно, что в ООП всё - объект, парадигма объектно-ориентированного программирования подразумевает, что виртуальная программа устроена так же, как и все, что окружает нас в реальной жизни, поэтому наглядным живым примером адаптера будет, как это ни странно - адаптер, приспособление для соединения не соединяемого, например, переходник SVGA - HDMI для подключения старой видеокарты к новому монитору. Конкретно в Android паттерн Adapter нашел одно из своих применений в формировании различных списков на экране по имеющимся данным. То есть, есть какая то структура упорядоченных данных и ее необходимо отобразить на экране устройства. Структура представляет собой какие то цифры, текст и тому подобное, на экране это все должно быть View - явная несовместимость между источником и приемником. Можно решить эту проблему разными способами, например, предварительно преобразовать данные в подходящее для вывода на экран представление, НО! так мы потеряем исходные данные и при каждом изменении данных потребуется новое преобразование, что выглядит очень сомнительно с точки зрения производительности. Здесь на помощь и приходит адаптер, который стоит посредником между данными и экраном, преобразуя "на лету" данные в View, не изменяя первые. Адаптер ПОСЛЕДОВАТЕЛЬНО берет единицу данных, соответствующюю текущей ЗАТРЕБОВАННОЙ виджетом ПОЗИЦИИ одного из айтемов списка и преобразует эту единицу данных в форму, пригодную для отображения на экране - генерирует View. Виджет, отдав адаптеру требуемую позицию, в ответ получает от адаптера визуальное представление, состоящее из помещенных в нем данных и выводит его на экран. Все возможности и применения адаптеров исходят из вышеизложенного - адаптация одного вида данных к другому. Применение адаптеров, связанных с виджетами, вроде ListView, ограничено преобразованием структурированных данных в отображение на экране, но ничто вам не мешает использовать сам паттерн для решения любых аналогичных преобразований и здесь его применение ограничено только вашей фантазией.Ответ 2
Adapter это связь вашего View со списком данных вашего класса. Более подробнее почитайте сдесь http://developer.alexanderklimov.ru/android/theory/arrayadapter.php
Комментариев нет:
Отправить комментарий