标签: android-calendar

如何添加图标或更改calendarview的日图标?

我正在开发一个日历应用程序,这就是我想做的事情; 例如,我在一个月的不同日期和日历上有各种活动,我想在有活动的日子里添加一个图标(例如音乐会).如果一天没有活动,这一天将没有图标.

注意:我使用CalendarView作为日历UI.

这是我想要解释的图像;

http://postimage.org/image/kdejw72nb/

请帮助我在这个特殊的日子里添加这个小图标.

提前致谢.

android calendar android-custom-view android-calendar calendarview

7
推荐指数
1
解决办法
5310
查看次数

使用Android日历获取当前时间

我想在Android应用程序中获取当前时间(HH:MM:SEC:MILLISEC).我正在使用这段代码:

Calendar c = Calendar.getInstance(); 
int time_start = c.get(Calendar.MILLISECOND);
Run Code Online (Sandbox Code Playgroud)

"获取和设置的字段编号表示小时内的分钟.例如,在10:04:15.250 PM,MILLI为250."

我已经查看了其他方法,但是我找不到任何指定它会输出所有内容的东西.无论如何我能得到H:M:Sec:MilliSec?或者我只需要做类似的事情

c.get(Calendar.HOUR).get(Calendar.MINUTE).get(Calendar.SECOND).get(Calendar.MILLISECOND).
Run Code Online (Sandbox Code Playgroud)

java time android date android-calendar

7
推荐指数
3
解决办法
2万
查看次数

如何使用事件管理创建自定义日历?

我的要求: - 我正在尝试创建一个只有日历功能的应用,当用户打开应用时,日历会像谷歌日历一样打开.我从Web服务接收事件,我必须根据日历中的日期显示这些事件.现在,如果他们是任何日期的任何事件,而不是他们应该是事件时间的颜色块,并且如果有多个事件,那么我们必须为一个事件显示多个颜色块.

我在这里提出了一个很好的建议.我可以通过默认库或API来执行此操作吗?因为我读过的Android API的Calendar,CalendarView,calendar-provider,CalendarContract.但没有人告诉我们如何在自己的日历中显示事件.

所以我正在尝试使用自定义日历.我可以使用创建自定义日历Gridview.

我现在有的日历图像.

我希望它与事件看起来像这样

带事件的日历图像.

BTW我的最低Android支持是android v4.0

android calendar android-calendar

7
推荐指数
1
解决办法
7137
查看次数

Android CalendarContract重复活动,包含例外日期

我找不到一种方法来将异常日期插入到重复发生的事件中.

上下文

我正在使用成功的事件解析.ics文件(ical格式).这是.ics

BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:TESTING
X-WR-TIMEZONE:Europe/Amsterdam
X-WR-CALDESC:
BEGIN:VTIMEZONE
TZID:Europe/Amsterdam
X-LIC-LOCATION:Europe/Amsterdam
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID=Europe/Amsterdam:20140425T103000
DTEND;TZID=Europe/Amsterdam:20140425T113000
RRULE:FREQ=WEEKLY;BYDAY=FR
EXDATE;TZID=Europe/Amsterdam:20140516T103000
EXDATE;TZID=Europe/Amsterdam:20140502T103000
DTSTAMP:20140425T090449Z
UID:3bb37doi3qcuaih3t03ns0q9jo@google.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=TESTIN
 G;X-NUM-GUESTS=0:mailto:domain.com_o300s@group.calendar.google.com
CREATED:20140425T090310Z
DESCRIPTION:
LAST-MODIFIED:20140425T090427Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:my-recurring-event-with-ex
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)

然后,该事件将通过CalendarContract API插入到Android日历中.

dtstart:20140425T103000 dtend:20140425T113000 rrule:FREQ = WEEKLY; BYDAY = FR

问题:排除日期

如果我现在查询我的日历,我将在2014年4月25日的每个星期五看到一个活动.

问题是我还需要排除一些日期(见ical:2014年5月2日和2014年5月16日)

尝试1

我尝试插入16的exdate可能只使用这样的EXDATE字段: 添加日历事件时的android:EXDATE格式 但是这不起作用,并且基于Android日历源代码甚至没有使用它.

尝试2

我尝试使用CONTENT_EXCEPTION_URI插入异常通过这样的帖子:从原始重复事件中创建异常事件? Google日历代码:https://github.com/android/platform_packages_apps_calendar/blob/master/src/com/android/calendar/EventInfoFragment.java#L1401

ContentValues values2 …
Run Code Online (Sandbox Code Playgroud)

android recurring-events android-calendar calendarcontract

7
推荐指数
1
解决办法
1390
查看次数

Calendar.get(Calendar.HOUR)问题

我正在尝试在我的应用程序最后更新时显示在TextView中(例如,"上次更新时间为12:13).我正在尝试使用Calendar实例,我认为我理解正确,但我似乎遇到了麻烦.我知道获取一个实例我使用Calendar.getInstance()方法.然后得到我使用Calendar.get(Calendar.HOUR)和Calendar.get(Calendar.MINUTE)的小时和分钟.我的分钟字段正确返回但是日历.HOUR小时24小时回来,我想要一个12小时的时钟.我觉得HOUR_OF_DAY是24小时制.我哪里错了?

这是我正在使用的代码:

Calendar rightNow = Calendar.getInstance();
mTv.setText("Refreshed! Last updated " + 
           rightNow.get(Calendar.HOUR) + ":" + 
           rightNow.get(Calendar.MINUTE) + ".");
Run Code Online (Sandbox Code Playgroud)

mTv是我正在更新的TextView.谢谢你的帮助.

此外,如果我能说"最近更新5分钟前",那将是理想的选择.而不是"最后更新时间为下午12:13".但是我不确定每分钟都有这种更新的最佳方法,而不会耗尽资源或电池......?

android calendar android-calendar

6
推荐指数
2
解决办法
2万
查看次数

使用Google日历的Android应用 - 同步问题

我正在尝试创建一个与Google日历接口的Android应用程序.
我从这里开始使用内容提供程序.此处解释了此代码的部分内容.

我正面临以下问题.

  1. 我从笔记本电脑上在线创建了一个新的日历TestCalendar,并将其标记为已选中.当我从应用程序查询我的日历时,我可以看到这个新日历,但它显示为未选中(selected = 0).有关为什么会发生这种情况的任何建议?

  2. 从我的应用程序中,我将事件添加到日历中
    getContentResolver().insert(eventsUri, event);
    .事件反映在手机上的日历中,但它不会反映在在线版本中.要在线推送这个新活动,我必须手动同步日历,或打开自动同步,我认为这不是正确的方式.任何可能有帮助的建议/链接?

android sync android-calendar

6
推荐指数
1
解决办法
2262
查看次数

从android日历中检索上次添加的事件的数据

我想从android日历中检索最后添加的事件的数据.我正在使用此代码获取最后一个ID.

 public static long getNewEventId(ContentResolver cr, Uri cal_uri)
 {
        Uri local_uri = cal_uri;
        if (cal_uri == null)
        {
            local_uri = Uri.parse("content://com.android.calendar/events");
        }
        Cursor cursor = cr.query(local_uri,
                new String[] { "MAX(_id) as max_id" }, null, null, "_id");
        cursor.moveToFirst();
        long max_val = cursor.getLong(cursor.getColumnIndex("max_id"));
        return max_val + 1;
 }
Run Code Online (Sandbox Code Playgroud)

然后我只需使用以下代码添加一个事件:

Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra("beginTime", SelectedDate);
intent.putExtra("allDay", false);
intent.putExtra("rrule", "FsREQ=DAILY");
intent.putExtra("endTime", SelectedDate + 60 * 60 * 1000);
intent.putExtra("title", "Advance Scheduler Event");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

在此之后,我只需使用以下代码检索此事件的数据:

public CalendarData EventDetails(int …
Run Code Online (Sandbox Code Playgroud)

android uri google-calendar-api android-calendar

6
推荐指数
1
解决办法
4564
查看次数

如何在CalendarView(DatePicker)中隐藏周数

我是Android(和Java)的新手,请帮我解决这个问题.

我试图在DatePicker的CalendarView中隐藏周数,发现一个布尔值设置为true,调用:

mShowWeekNumber
Run Code Online (Sandbox Code Playgroud)

mCalendarView
Run Code Online (Sandbox Code Playgroud)

在DatePicker中,但我怎样才能将此值设置为false ....

任何帮助将不胜感激.

java android android-calendar

6
推荐指数
1
解决办法
3417
查看次数

Android:删除事件的发生会删除所有事件

我知道,我不是第一个问这个问题的人.我在堆栈中发现了许多问题,比如

从我的Android日历中仅删除一个定期事件的一个实例

重复活动的Android日历提供程序例外

Android日历特定事件删除

上述都没有解决这个问题.现在到我的代码.

我正在使用日历合同提供程序api进行所有操作(不需要支持旧的Android版本).它不是一个同步适配器.
我们成功删除了所有事件(通过从事件表本身删除事件).
但是当我尝试使用Events.CONTENT_EXCEPTION_URI(通过插入)删除事件的发生时,所有事件都消失了.以下是我的代码

 ContentValues args = new ContentValues();

        args.put(Events.TITLE,  eNote.getEventTitle());       
        args.put(Events.DTSTART,  eNote.getStartTimeMill());       
        args.put(CalendarContract.Events.ORIGINAL_INSTANCE_TIME, eNote.getStartTimeMill());
        args.put(Events.ORIGINAL_SYNC_ID, 1);
        args.put(Events.HAS_ALARM, "0");
        args.put(Events.HAS_ATTENDEE_DATA,"0");            
        args.put(CalendarContract.Events.EVENT_TIMEZONE, eNote.getTimeZone());
        args.put(CalendarContract.Events.STATUS, CalendarContract.Events.STATUS_CANCELED);


        Uri.Builder eventUriBuilder = CalendarContract.Events.CONTENT_EXCEPTION_URI.buildUpon();
        ContentUris.appendId(eventUriBuilder, eventID);

        try {

            final Uri resultUri = activity.getContentResolver().insert(eventUriBuilder.build(), args);
            int eventIDNew = Integer.parseInt(resultUri.getLastPathSegment());
            Log.i(Global.DEBUG_TAG,"eventIDNew  : " +eventIDNew);


        } catch (Exception e) {
            e.printStackTrace();
            Log.i(Global.DEBUG_TAG,
                    "Eroor  : " +e.getMessage() );
        } 
Run Code Online (Sandbox Code Playgroud)
  • eNote是一个对象,存储来自实例表的事件的详细信息,

  • 给定值args.put(Events.ORIGINAL_SYNC_ID,1); 直接,因为我没有在创建事件时设置同步ID,我们不需要任何同步操作

插入异常uri会返回一个新ID,但这会使所有事件都消失.

代码有什么问题..请帮助我们,我们欢迎所有的建议,并感谢所有...

android calendar android-calendar

6
推荐指数
1
解决办法
1024
查看次数

如何使用我的 flutter API 在表格日历上显示事件

我有用于显示事件日历的 UI,并且需要显示 API 中的事件。但我不知道该怎么做。我尝试更改 _event 上的列表,但没有响应。我需要在日历上显示它,以便我的公司日历可以显示该活动。

这是我的 UI 日历

import 'package:intl/intl.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:urus_flutter/persentation/custom_color.dart';
import 'package:urus_flutter/persentation/custom_text_style.dart';
import 'package:table_calendar/table_calendar.dart';
import 'package:shared_preferences/shared_preferences.dart';

class Calender extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => CalenderState();
}

class CalenderState extends State<Calender> {
  CalendarController _controller;
  Map<DateTime, List<dynamic>> _events;
  List<dynamic> _selectedEvents;
  DateTime _selectedDate;
  SharedPreferences prefs;


  @override
  void initState(){
    super.initState();
    _controller = CalendarController();
    _events = {
      DateTime(2021, 6, 22) : ['Meeting URUS', 'Testing Danai Mobile', 'Weekly Report', 'Weekly Meeting'],
      DateTime(2021, 6, 25) : ['Weekly Testing'],
      DateTime(2021, …
Run Code Online (Sandbox Code Playgroud)

api json android-calendar dart flutter

6
推荐指数
1
解决办法
1万
查看次数