Вы можете создать класс с именем BaseActivity
, который расширит AppCompatActivity
и поместит туда код и функциональность, которые вы хотите использовать во всех остальных Activity
. Затем в каждой своей деятельности вы будете расширять BaseActivity
вместо AppCompatActivity
. Делая это, вы можете избежать дублирования вашего кода. Помните, что вам придется помещать ActionBar
в каждый файл макета деятельности .xml
.
http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg03277.html
Почтенный основной королевский адвокат Na шел со своим студентом, Anton. Надеясь предложить ведущему устройству в обсуждение, Anton сказал "Ведущее устройство, я услышал, что объекты являются очень хорошей вещью - действительно ли это верно?" Королевский адвокат Na посмотрел жалостливо на своего студента и ответил, "Глупый ученик - объекты являются просто закрытиями бедного человека".
Отчитываемый, Anton взял свой отпуск от его ведущего устройства и возвратился к его ячейке, намерению учащихся закрытий. Он тщательно считал всю серию "Lambda: The Ultimate..." бумаг и ее кузенов, и реализовал маленький интерпретатор Схемы с основанной на закрытии объектной системой. Он изучил много и надеялся сообщить своему ведущему устройству его успеха.
На его следующем обходе с королевским адвокатом Na Anton попытался произвести на свое ведущее устройство впечатление путем высказывания "Ведущего устройства, я старательно изучил вопрос и теперь понимаю, что объекты являются действительно закрытиями бедного человека". Королевский адвокат Na ответил путем удара Anton его палкой, заявив, "Когда Вы будете учиться? Закрытия являются объектом бедного человека". В тот момент Anton стал просвещенным.
- Anton van Straaten
Я использовал закрытия в течение долгого времени в JavaScript. Иногда они формировали бы 'объект', другие времена, которые они - полезный способ предоставить данным экземпляра обратному вызову.
Что касается меня они - другой полезный инструмент в поле, но это идет вне просто сахара. Сахар касается чего-то, что Вы могли разумный делать с другим несколько более замысловатым синтаксисом. Закрытия Acheiving на языке, который непосредственно не поддерживает их, были бы очень трудными.
Закрытия намного больше, чем синтаксический сахар, хотя я думаю, что он зависит несколько от Вашего определения "синтаксического сахара".
Мне Java 1.5's для - каждый был синтаксическим сахаром, но, например, блоки Ruby идут далеко вне этого. Закрытия обеспечивают удобный уровень абстракции, которая полезна для неявного объявления намерения - большой шаг к синтаксису DSL-выхода.
Закрытия и анонимные блоки являются довольно важными конструкциями программирования, и я поразил отсутствие быстро в Java, C++, C, и о любом другом языке это пропускает их. Они особенно полезны с материалом обработки событий и асинхронным. Они также делают берущие функцию функции более приятными использовать и обеспечить выбор сделать больше вещей без дополнительного синтаксиса. (см.: smalltalk и схема)