例如,给定一个学期的类的startDate和endDate,以及该类遇到的天数(星期一,星期三,星期五),是否有一个函数可以用来预先填充数据库,其中包含每个潜在的条目课堂会议?我是java / android和SQLite的新手。
类似的东西:
String[] mathDays = {Monday, Wednesday, Friday};
populateDatabase("4/28/14", "5/09/14", mathDays);
populateDatabase(String sDate, String eDate, String[] daysOfWeek) {
//calculate each date to list
daysList
//put to database
for (date d: daysList)
//put the day, date, isAttended, isCancelled
}
这样数据库看起来像:
Day: Monday, Date: 4/28/14, isAttended: False, isCancelled: False;
Day: Wednesday, Date: 4/30/14, isAttended: False, isCancelled: False;
Day: Friday, Date: 5/2/14, isAttended: False, isCancelled: False;
//etc...
答案 0 :(得分:0)
查看GregorianCalendar和Calendar类。
您可以为开始日期和结束日期创建两个实例,然后只需使用add(...)
方法一次添加一天到开始日期,直到您到达结束日期。实施例...
// When you first create calDate, set it to the start date
// then increment in a loop until you reach the end date.
calDate.add(Calendar.DATE, 1);
每次执行此操作,您都可以使用get(...)
方法查看当天的情况。实施例...
int dayOfWeek = calDate.get(Calendar.DAY_OF_WEEK);
请注意Calendar
类中的常量,星期日的int值为1,星期一为2等。
在您的示例代码中,您使用的是String[] daysOfWeek
,但由于Calendar
类使用的是int值,我建议您将其更改为int[]
。