Articles of 日历

使用ExtendedCalendarView显示事件信息

我正在尝试为我的应用中的显示事件和相关信息创build自定义日历。 但是我不知道如何显示这些信息。 这是日历的代码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ExtendedCalendarView calendar = (ExtendedCalendarView)findViewById(R.id.calendar); ContentValues values = new ContentValues(); values.put(CalendarProvider.COLOR, Event.COLOR_BLUE); values.put(CalendarProvider.DESCRIPTION, "Some Description"); values.put(CalendarProvider.LOCATION, "Some location"); values.put(CalendarProvider.EVENT, "Event name"); Calendar cal = Calendar.getInstance(); TimeZone tz = TimeZone.getDefault(); cal.set(startDayYear, startDayMonth, startDayDay, startTimeHour, startTimeMin); int StartDayJulian = Time.getJulianDay(cal.getTimeInMillis(), TimeUnit.MILLISECONDS.toSeconds(tz.getOffset(cal.getTimeInMillis()))); values.put(CalendarProvider.START, cal.getTimeInMillis()); values.put(CalendarProvider.START_DAY, StartDayJulian); cal.set(endDayYear, endDayMonth, […]

如何将Java.util.calendar设置为将来的特定时间段

我正在使用Java的日历在特定的date和时间设置闹钟。 当用户select一个特定的date和时间时,我知道如何使这个工作。 例如,如果用户想要在2013年7月17日上午10:45设置闹钟,则使用以下代码: //Get the calendar instance. Calendar calendar = Calendar.getInstance(); //Set the time for the notification to occur. calendar.set(Calendar.YEAR, 2013); calendar.set(Calendar.MONTH, 6); calendar.set(Calendar.DAY_OF_MONTH, 17); calendar.set(Calendar.HOUR_OF_DAY, 10); calendar.set(Calendar.MINUTE, 45); calendar.set(Calendar.SECOND, 0); 当我想在特定的date和时间设置闹钟时,以上所有的代码都能很好地工作。 我的问题是,如何设置一个日历实例,用户用户想要在当前date和时间的20分钟后closures闹钟? 所以如果当前时间是下午6点50分,我需要在下午7点10分报警。 我如何设置这个编程? 我尝试通过Java.util.calendar的内置方法获取当前date和时间,并尝试将20分钟添加到Calendar.MINUTEvariables。 但是,如果当前时间距离午夜不足20分钟(date将改变),或者距离另一小时不到20分钟(这个小时将改变),我认为这不会起到诀窍的作用。 我怎样才能解决这个问题? 感谢你的帮助!

material-calendarview设置date的背景颜色

我的目标是find一个Android库,这将允许我在日历视图上标记基于数组的各种date。 date可能是连续的,也可能不是连续的。 我的理想场景是更改每个date的背景颜色。 重要的复杂性是,我不知道这种颜色,直到运行时,因为它将来自服务器查询。 我一直在研究这一整天,我最好的希望似乎是material-calendarview ( github )。 但是,我发现他们的代码有点难以理解,这是对我的,但我完全卡住了。 我在我的XML布局中添加了这样的日历: <com.prolificinteractive.materialcalendarview.MaterialCalendarView android:id="@+id/calendar_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" xmlns:app="http://schemas.android.com/apk/res-auto" app:mcv_showOtherDates="all" app:mcv_selectionColor="#00F"/> 然后在我的活动中,我有这些实例variables: private MaterialCalendarView calendarView; private ArrayList<Date> markedDates; 和这个代码在我的onCreateView() calendarView = (MaterialCalendarView) view.findViewById(R.id.calendar_view); 好吧,很简单。 但我不知道如何从date数组中标记日历。 我正在研究这个方法,但是我只是不知道如何超越我在这里的范围: private void initializeCalendar() { calendarView.setOnDateChangedListener(context); calendarView.setShowOtherDates(MaterialCalendarView.SHOW_ALL); Calendar calendar = Calendar.getInstance(); calendarView.setSelectedDate(calendar.getTime()); calendar.set(calendar.get(Calendar.YEAR), Calendar.JANUARY, 1); calendarView.setMinimumDate(calendar.getTime()); calendar.set(calendar.get(Calendar.YEAR), Calendar.DECEMBER, 31); calendarView.setMaximumDate(calendar.getTime()); int bgColor […]

在特定的时间在Android设置每天重复报警

我正在使用闹钟pipe理器在特定的时间每天运行闹钟。 下面是代码 Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.set(Calendar.HOUR_OF_DAY, 00); calendar.set(Calendar.MINUTE, 00); AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); Intent intent = new Intent(this, OnAlarmReceive.class); PendingIntent pendingIntent =PendingIntent.getBroadcast(this.getApplicationContext(), 0, intent,PendingIntent.FLAG_UPDATE_CURRENT); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 24*60*60*1000, pendingIntent); 我每天早上12点设置闹钟。 以下是BroadCastReciever的代码 @Override public void onReceive(Context context, Intent intent) { System.out.println("Time is 12 Am"); Toast.makeText(context, "Alarm Triggered", Toast.LENGTH_LONG).show(); } 在这个代码中的问题是触发报警只要我运行应用程序无论何时。 任何帮助将不胜感激。 谢谢

如何使用事件pipe理创build自定义日历?

我的要求: – 我试图做一个只有日历function的应用程序,当用户打开应用程序,日历打开像谷歌日历一样。 我从Web服务接收事件,我必须根据日历中的date显示这些事件。 现在,如果他们在任何时间比他们应该是事件时间的色块,并且如果有多个事件,那么我们必须为每个事件显示多个颜色块。 我在这里是一个很好的build议。 我可以通过默认库或API来做到这一点? 因为我已经阅读了android API的Calendar , CalendarView , calendar-provider , CalendarContract 。 但没有人告诉我们如何在自己的日历中显示事件。 所以我正在尝试用自定义日历。 我能够通过使用Gridview创build自定义日历。 。 我希望事件看起来像这样 。 BTW我最低的Android支持是android v4.0

在Android 7牛轧糖上,DatePickerDialog Holo样式失败

根据我们的客户需求,我们希望在所有Android操作系统版本上保持DatePickerDialog的HOLO风格,例如: DatePicker on Android 7- 但它似乎不能在Android 7上正常工作: Android 7上的DatePicker 从我的实现: new DatePickerDialog(getContext(), AlertDialog.THEME_HOLO_LIGHT, mCalendarPickerListener, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)); 对于之前的android 7来说它工作的很好。任何人都有同样的问题? 编辑:解决scheme被发现在API 25中修复https://code.google.com/u/106133255289400340786/

使用提醒创build一个重复事件,直到特定的一天没有意图在Android?

我有一个Android应用程序,下载一些服务的一些药物信息。 例如(fludex white round 2 24-02-2012),意味着一种名为fludex的药物,白色和圆形,必须从今天起每天给予2次,直到24-01-2012。 现在我想下载药物信息后,以静默方式/以编程方式(无需用户交互)向药物信息添加重复的事件与日历。 所以从今天起,直到24-01-2012每10点和10点才提醒10分钟才能服用他的药物。 我的应用程序将为Android 2-4。 我怎么能这样做,我从我的search到目前为止困惑。 第二个问题:我怎样才能删除从我的应用程序中创build的事件(和他们的提醒),所以当我同步我的药物治疗来删除所有以前的事件,并基于我从我的服务中收到的新药物治疗产生新的事件?

Java月最后一天的问题

我试图创build一个date范围来覆盖整个月,即 [开始date; 结束date] 因此,我有一个参考date,并尝试从中创build一个新的date。 我对“endDate”有问题,因为我想让它接近一天结束(即23:59:59)。 我使用的代码如下: public static Date previousMonthLastDate(Date referenceDate) { Calendar calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC")); calendar.setTime(referenceDate); calendar.add(Calendar.MONTH, -1); // move to the previous month int lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); calendar.set(Calendar.DAY_OF_MONTH, lastDay); // set the time to be the end of the day calendar.set(Calendar.HOUR_OF_DAY, 23); calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); return calendar.getTime(); } 此代码在Android 模拟器上按预期工作。 但是,在真实的手机上运行会给出错误的date。 […]

在android中获取周数和年份的星期开始和结束date

我希望得到一周的开始date和结束date,一个星期的数字传入方法。 例如,如果我将周数设为51 ,将年份设为2011 ,则应将开始date设为18 Dec 2011 ,结束date设为24 Dec 2011 有什么方法可以帮助我达到这个目标吗?

在Java中的日历string时间戳?

一个简单的问题,我无法find答案。 我有一个string,这是一个时间戳,我想成为一个日历对象,所以我可以显示在我的Android应用程序。 到目前为止,我所使用的代码显示了所有的东西在1970年代:s。 String timestamp = parameter.fieldParameterStringValue; timestampLong = Long.parseLong(timestamp); Date d = new Date(timestampLong); Calendar c = Calendar.getInstance(); c.setTime(d); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int date = c.get(Calendar.DATE); dateTextView.setText(year + "-" + month + 1 + "-" + date); 更新:只是供参考,时间戳是从服务器是:1369148661,这可能是错的?