Official documentation indicates that Android development should avoid using enums (enum classes) because it takes more than twice times more memory than a static const enum. Ginseng http://developer.android.com/training/articles/memory.html#Overhead
So what should I do if I need to use an enum?
https://noobcoderblog.wordpress.com/2015/04/12/java-enum-and-android-intdefstringdef-annotation/
public class Mainactivity extends Activity {//First define constants public static final int SUNDAY = 0; public static final int MONDAY = 1; public static final int Tuesday = 2; public static final int Wednesday = 3; public static final int Thursday = 4; public static final int FRIDAY = 5; public static final int SATURDAY = 6; Use@IntDef "Wrap" constant;//@Retention define policy//Declare constructor @IntDef ({SUNDAY, monday,tuesday,wednesday,thursday,friday,saturday}) @Retention (retentionpolicy.source) public @interface weekdays {} @WeekDays int currentday = SUNDAY; @Override protected void OnCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate); Setcontentview (R.layout.activity_main); Setcurrentday (Wednesday); Declaring a variable @WeekDays int today = Getcurrentday (); Switch (today) {case sunday:break; Case Monday:break; Case Tuesday:break; Case Wednesday:break; Case Thursday:break; Case Friday:break; Case Saturday:break; Default:break; }} public void Setcurrentday (@WeekDays int currentday) {this.currentday = Currentday; } @WeekDays public int Getcurrentday () {return currentday; }}
In Build.gradle
Compile ' com.android.support:support-annotations:22.0.0 '
Enum (enum) for Android development--@IntDef use