Глобальные / общие функции Android
Я только сегодня начал изучать разработку для Android, и я просто не могу найти информацию о том, как я могу определить Helper
класс, или набор функций, которые будут загружаться глобально, и я смогу использовать их в любой деятельности, которую я создаю.
Я планирую создать (по крайней мере, на данный момент) 2 функции, которые будут использоваться почти в каждом упражнении, и было бы беспорядочно определять одинаковые функции в каждом упражнении.
Какой будет правильный подход к вышесказанному?
2 ответа
Я хочу отметить, что для этой цели не следует помещать функции в глобальный класс приложения. Обычно получается, что если у вас есть общая функциональность, вы абстрагируете это и помещаете код в:
- Статические методы
- Еще один пакет
- Библиотека, реализующая функциональность, с которой вы связываете свое приложение.
- Поставщик контента
Вы не должны явно реализовывать эту функцию в Application
учебный класс. Существуют способы расширения приложения, но это приводит к запаху кода и является распространенным антипаттерном для начинающих. Если вам нужна функциональность, которой вы делитесь в своем приложении, библиотека является идеальным решением (даже если это просто код, который вы разделяете в другой пакет). Это стимулирует повторное использование и позволяет более аккуратно сегментировать и тестировать код.
В Java часто встречается класс или pacakge вида *.util
за это.
(Я предполагаю, что вы пришли из чего-то вроде мира Rails, где это является нормой, поскольку Ruby гораздо более ориентирован на метапрограммирование, чем Java, вы обычно используете разные приемы.)
Это будет статический метод в Java.
В классе Хелпер,
public static void DoSomething(){
}
Был бы доступен из любого класса.
Пример:
Helper.MyFunction();