Глобальные / общие функции Android

Я только сегодня начал изучать разработку для Android, и я просто не могу найти информацию о том, как я могу определить Helper класс, или набор функций, которые будут загружаться глобально, и я смогу использовать их в любой деятельности, которую я создаю.

Я планирую создать (по крайней мере, на данный момент) 2 функции, которые будут использоваться почти в каждом упражнении, и было бы беспорядочно определять одинаковые функции в каждом упражнении.

Какой будет правильный подход к вышесказанному?

2 ответа

Решение

Я хочу отметить, что для этой цели не следует помещать функции в глобальный класс приложения. Обычно получается, что если у вас есть общая функциональность, вы абстрагируете это и помещаете код в:

  • Статические методы
  • Еще один пакет
  • Библиотека, реализующая функциональность, с которой вы связываете свое приложение.
  • Поставщик контента

Вы не должны явно реализовывать эту функцию в Application учебный класс. Существуют способы расширения приложения, но это приводит к запаху кода и является распространенным антипаттерном для начинающих. Если вам нужна функциональность, которой вы делитесь в своем приложении, библиотека является идеальным решением (даже если это просто код, который вы разделяете в другой пакет). Это стимулирует повторное использование и позволяет более аккуратно сегментировать и тестировать код.

В Java часто встречается класс или pacakge вида *.util за это.

(Я предполагаю, что вы пришли из чего-то вроде мира Rails, где это является нормой, поскольку Ruby гораздо более ориентирован на метапрограммирование, чем Java, вы обычно используете разные приемы.)

Это будет статический метод в Java.

Статические методы Java

В классе Хелпер,

public static void DoSomething(){
}

Был бы доступен из любого класса.

Пример:

Helper.MyFunction();
Другие вопросы по тегам