Articles of android calendar

列出Android 4+中特定日期的事件(ALL_DAY问题)

我试图让所有活动在Android 4+中的某一天发生。 据我所知,CalendarContract.Instances是获取事件的最简单方法,因为它处理重复事件和单个时间事件。 但是,我在处理时间戳方面遇到了一些问题。 具体而言,它似乎以不同方式处理ALL_DAY事件。 我开始使用以下代码( start是我获取事件的日期,毫秒“数学”是为了避免在第二天上午12点开始的不必要事件,Calendar使用默认时区)。 public Cursor fetchCursor(Calendar start) { Calendar end = (Calendar) start.clone(); end.add(Calendar.DATE, 1); long startTime = start.getTimeInMillis() + 1; long endTime = end.getTimeInMillis() – 1; ContentResolver resolver = mContext.getContentResolver(); return CalendarContract.Instances.query(resolver, projection, startTime, endTime); } 这段代码似乎适用于许多边缘情况,不同的时区,跨越多天的事件……除了全天事件之外的所有事情。 当我用ALL_DAY标志检查返回的事件时: Cursor c = fetchCursor(date); Log.e(“SIZE”, String.valueOf(c.getCount())); while (c.moveToNext()) { long begin = […]

如何以天为单位显示毫秒:小时:分钟:秒

这就是我现在所拥有的 Seconds = (60 – timeInMilliSeconds / 1000 % 60); Minutes = (60 – ((timeInMilliSeconds / 1000) / 60) %60); 我认为是正确的。 它应该像几个小时和几天一样 – Hours = ((((timeInMilliSeconds / 1000) / 60) / 60) % 24); Days = ((((timeInMilliSeconds / 1000) / 60) / 60) / 24) % 24; 接着- TextView.SetText(“Time left:” + Days + “:” + […]

为什么日期选择器会在我的视图中添加日历?

我开始学习如何在Android上开发。 这很简单,但我面临一个问题我没有在任何地方find任何提及…… 我有一个观点: 其中显示了一个日期选择器。 问题是日期选择器似乎除了日期选择器的经典滚轮之外还添加了一个日历(见图)。 我不想要这个观点,为了约会而滚滚而去。 我是以错误的方式使用日期选择器还是这是原始行为? 谢谢 ! 纪尧姆

用于显示活动的Android CalendarView

我想在日期上显示一个日历,其中包含与默认日历应用程序类似的不同颜色的事件。 但我没有在默认日历视图中看到任何此类API。 任何人都可以指导我正确的方向如何继续这个? 我应该扩展默认日历并添加我自己的function吗? 或者我应该使用带有PageViewer和片段的5×5文本框?

Calender.getInstance()在Android Studio中出错

点击我的EditText时,我正试图popup一个DatePicker对话框。 问题是,当我尝试用Calender.getInstance()实例化我的Calender对象时,令人毛骨悚然的红色下划线出现在getInstance()下面。 Calender myCalender = Calender.getInstance(); 它hover在它上面,它说 呼叫需要API级别24(当前最小值为15)。 显然,我希望我的应用程序能够在最低API级别15的设备上运行。请帮助我,我是Android的新手。 谢谢。 我试图按照这种方法将DatePicker添加到我的EditText

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

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

我怎样才能将事件自动添加到日历?

我怎样才能将事件自动添加到日历? 如果我使用这个源代码,它打开带有填充条目的日历,但是我必须点击保存button来保存它。 public class CalendarApplicationActivity extends Activity { public static final String[] EVENT_PROJECTION = new String[] { Calendars._ID, // 0 Calendars.ACCOUNT_NAME, // 1 Calendars.CALENDAR_DISPLAY_NAME // 2 }; private static final int PROJECTION_DISPLAY_NAME_INDEX = 2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_calendar_application); } public void onClick(View view) { Intent intent = new Intent(Intent.ACTION_INSERT); intent.setType("vnd.android.cursor.item/event"); intent.putExtra(Events.TITLE, […]

使用CalendarContract – Android 4.0+阅读今天的所有事件

我正在尝试使用Android的新日历API来读取今天的所有日历事件。 我很难find正确的select在数据库查询返回所有的事件。 似乎所有经常性和全天事件都被排除在select之外。 什么select参数将允许我从日历api中获取今天的所有事件? 这是我目前的尝试: Cursor cur = null; String selection = "((" + CalendarContract.Events.DTSTART + " >= ?) AND (" + CalendarContract.Events.DTEND + " <= ?))"; Time t = new Time(); t.setToNow(); String dtStart = Long.toString(t.toMillis(false)); t.set(59, 59, 23, t.monthDay, t.month, t.year); String dtEnd = Long.toString(t.toMillis(false)); String[] selectionArgs = new String[] { dtStart, dtEnd […]

更改CalendarView样式

我正在尝试在我的应用程序中添加一个CalendarView,该应用程序使用Theme.Light主题。 问题是,这个日历的天数是白色的,所以在使用一个轻的主题时,你看不到它们。 现在,我在我的XML布局文件中有以下代码: <CalendarView android:id="@+id/calendar1" android:layout_width="500dp" android:layout_height="300dp"/> 我试图强制这样的日历主题: <CalendarView android:id="@+id/calendar1" android:layout_width="500dp" android:layout_height="300dp" android:theme="@android:style/Theme.Light" /> 但它不会改变任何东西。 我想我应该做一些与android:dateTextAppearance属性,所以我试过这个: <CalendarView android:id="@+id/calendar1" android:layout_width="500dp" android:layout_height="300dp" android:dateTextAppearance="@android:style/TextAppearance.Large.Inverse" /> 但它也没有做任何事情。 有任何想法吗 ? 谢谢 !

如何以毫秒显示毫秒:小时:分钟:秒

这是我目前所拥有的 Seconds = (60 – timeInMilliSeconds / 1000 % 60); Minutes = (60 – ((timeInMilliSeconds / 1000) / 60) %60); 我觉得是正确的。 几个小时和几天应该像 – Hours = ((((timeInMilliSeconds / 1000) / 60) / 60) % 24); Days = ((((timeInMilliSeconds / 1000) / 60) / 60) / 24) % 24; 接着- TextView.SetText("Time left:" + Days + ":" + […]