整个应用程序的日历setFirstDayOfWeek

时间:2017-01-16 20:35:51

标签: android calendar gregorian-calendar

我有一个时间注册应用程序,一些用户要求根据他们的喜好更改为一周的第一天。我知道我可以在一个日历对象上设置一周的第一天,但​​是我和很多人一起工作,我不想在所有这些日子上设置第一天。那么有没有办法为我的整个应用程序设置第一天?

1 个答案:

答案 0 :(得分:2)

  

我不想在所有人的第一天安排

软件编程的黄金法则是“不要重复自己"”,也称为DRY规则。因此,您不应该反复编写相同的代码来设置一周的第一天,但​​是有些代码仍然应该为所有这些代码执行,所以......

在这些情况下,常见的方法是建立工厂。

class CalendarFactory {

   public static void setFirstDayOfWeek(Context context, int value){
       // use context to save value in SharedPreferences
   }

   public static Calendar newInstance(Context context) {
       // read the value from SharedPreferences
       // create new GregorianCalendar
       // setFirstDayOfWeek
       // return 
   }
}

然后它确保通过这种方法获得日历的实例。