Я разрабатываю приложение для Android, и я очень новичок в Java и Android.
Я хочу создать некоторые константы для использования в некоторых действиях. Где я могу определить эти константы?
Спасибо.
Я разрабатываю приложение для Android, и я очень новичок в Java и Android.
Я хочу создать некоторые константы для использования в некоторых действиях. Где я могу определить эти константы?
Спасибо.
Он считал плохую практику в java и большинстве языков OO, чтобы определить класс просто для хранения констант. Гораздо лучше определить константы в классе, с которым они связаны. Обычно есть один. например.
interface MyComponent {
/** The default height for a component */
public static final int DEFAULT_HEIGHT = 5;
// other stuff
}
Если действительно нет, не стесняйтесь определять отдельный класс.
EDIT: Ключевыми здесь являются:
Обычно вы должны использовать класс Constants или определять их в классах, где они используются, a la:
class Constants {
public static final int NUM_TRIANGLES = 4;
public static final String SOME_TEXT = "This is a constant";
}
Затем вы можете обратиться к ним с помощью:
String inst = Constants.SOME_TEXT;
Самый распространенный способ - создать константы в классах, которые вам нужны:
class Example {
private static final int FILENAME = "test.txt;
}
Вместо частного он также может быть объявлен по умолчанию, защищен или открыт. Несмотря на то, что определение констант OO определяет константы - это специальные константы ( God), который хранит константы для всего приложения. Кроме того, вы также можете сохранять данные конфигурации в файле свойств , это не считается анти-шаблоном.
Другим вариантом, который быстро набирает популярность, является использование шаблона Dependency Inject (DI). Часто этот шаблон используется для объекта зависимости, но его также можно использовать для ввода постоянных значений в объекты. Это может быть, например, реализовано с помощью легкого Guice:
class Example {
String filename;
@Inject
public Example(@ConfigFilename String filename) {
this.filename = filename;
}
В специальном классе Binder вы привяжете значение к строкам, аннотированным с помощью @ConfigFilename. Таким образом, у вас минимальная связь и классы, которые могут быть независимо протестированы.
Вы можете определить некоторые константы в перечислениях Java.
Один перечислитель Java может содержать несколько полей связанных данных.
Oracle предоставляет это введение в перечисления Java.