【问题标题】:Android Calendar安卓日历
【发布时间】:2011-09-13 04:39:54
【问题描述】:

我正在尝试将项目放入日历中,但不知道如何对其进行编码。这是我目前所拥有的,但它会将其插入到主日历中。

    String calName; 
    String calId = null;
    String[] projection = new String[] { "_id", "name" };

    Uri calendars = Uri.parse("content://calendar/calendars");
    Cursor managedCursor = managedQuery(calendars, projection, null, null, null);
    ContentValues event = new ContentValues();

    event.put("calendar_id", calId);
    event.put("title", strTitle);
    event.put("description", strDescription);
    event.put("eventLocation", strLocation);
    event.put("dtstart", StartTime);
    event.put("dtend", EndTime);

    Uri eventsUri = Uri.parse("content://calendar/events");
    Uri calUri = getContentResolver().insert(eventsUri, event);

所以我的问题是:

  1. 如何创建自己的日历以将事件放入

  2. 如何将我的事件插入到该日历中(使用上面的代码或新代码)

  3. 如何检查事件是否已存在

~~~更新:~~~

我正在尝试做的是我的用户将输入标题和日期,我的应用程序将采用该标题和日期,将它们放入数据库(到目前为止我所做的一切),现在我想要获取标题和日期,并将它们放入专门用于我的应用程序事件的特殊日历中。我需要做的第一件事是让应用程序创建一个新日历。比将事件插入到下面的代码帮助我做的那个日历中。还在玩它。比我想重新运行我的应用程序并检查事件是否存在。就是这样。

【问题讨论】:

标签: android insert calendar exists


【解决方案1】:

首先,我认为自 2.2 以来内容解析器从 content://calendar/calendars 更改为 content://com.android.calendar/calendars

要插入事件,检索事件检查此代码

https://github.com/Rabgs/AndroidLib_Google-Calendar/blob/master/src/net/mobiwide/agenda/google/GoogleAgenda.java

您将找到所需的一切以及如何处理跨平台的内容解析器更改。

【讨论】:

  • 链接已失效,如果确实如此,我找不到它移动到的位置。
【解决方案2】:

要更新 Google 日历,请使用 Google Calendar GData API

【讨论】:

  • 我喜欢这个链接,但我无法弄清楚。我尝试过复制源代码和 jar 文件,但每次运行它都会给我一个强制关闭。有没有一种简单的方法可以将其发送到手机日历而不是在线谷歌日历?
【解决方案3】:
  1. 您可以通过几种不同的方式执行此操作,但我建议的最佳方式是使用 SQLite Database 来存储您的日历事件。
  2. 您将使用标准 SQL insert statements 将您的活动添加到您的日历数据库中。
  3. 您将使用标准的select (query) statements 来检索您的事件。

【讨论】:

  • 我已经将它们保存在数据库中。我正在尝试将它们发送到日历,以便它们同步到我的 gmail 帐户,以便我可以在线查看它们以及让它们在日历中消失以提醒我它们。
  • 这个问题似乎没有反映出这一点。在我给出更好的答案之前,我将不得不考虑更多。您应该考虑更新您的问题,询问您真正想要回答的问题。
  • 已更新。如果您需要更多信息,请告诉我
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-11
  • 2015-10-19
  • 1970-01-01
  • 2015-04-17
相关资源
最近更新 更多