Java constants file

后端 未结 4 1711
名媛妹妹
名媛妹妹 2020-12-15 04:53

I\'m developing an Android application and I\'m very new on Java and Android.

I want to create some constants to use in some activities. Where can I define these con

4条回答
  •  [愿得一人]
    2020-12-15 05:27

    The most common way is to create 'constants' in the classes were you need them:

    class Example { 
      private static final int FILENAME = "test.txt; 
    } 
    

    Instead of private it can also be declared default, protected or public. Although it is considered an OO anti pattern to define constants is a special 'constants' (God) class that stores constants for the whole application. Alternatively, you can also store configuration data in a Java properties file, this is not considered an anti-pattern.

    Another option, that is rapidly gaining popularity, is the usage of the Dependency Inject (DI) pattern. Often this pattern is used for depend object, but it can also be used to inject constant values into objects. This can for example be implemented with Google's lightweight Guice DI framework:

    class Example {
      String filename;
    
      @Inject
      public Example(@ConfigFilename String filename) {
         this.filename = filename;        
      }
    

    In a special Binder class you will bind a value to the Strings annotated with @ConfigFilename. This way, you have minimal coupling and classes that can be independently tested.

提交回复
热议问题