Android开发修改本地日程数据demo 需要修改的数据 提醒时间是多个时间
时间: 2024-03-17 13:45:41 浏览: 57
Android日期和时间的设置DEMO
好的,如果您需要修改一个事件的多个提醒时间,可以使用以下示例代码:
```java
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.provider.CalendarContract;
import android.provider.CalendarContract.Reminders;
import java.util.ArrayList;
import java.util.List;
public class CalendarHelper {
// 修改日程事件
public static void editEvent(Context context, long eventId, String title, String description, long startTime, long endTime, List<Long> reminderTimes) {
// 更新事件信息
ContentValues values = new ContentValues();
values.put(CalendarContract.Events.TITLE, title);
values.put(CalendarContract.Events.DESCRIPTION, description);
values.put(CalendarContract.Events.DTSTART, startTime);
values.put(CalendarContract.Events.DTEND, endTime);
Uri eventUri = ContentUris.withAppendedId(CalendarContract.Events.CONTENT_URI, eventId);
context.getContentResolver().update(eventUri, values, null, null);
// 更新提醒时间
String selection = Reminders.EVENT_ID + " = ?";
String[] selectionArgs = new String[]{String.valueOf(eventId)};
context.getContentResolver().delete(Reminders.CONTENT_URI, selection, selectionArgs);
for (long reminderTime : reminderTimes) {
ContentValues reminderValues = new ContentValues();
reminderValues.put(Reminders.MINUTES, reminderTime);
reminderValues.put(Reminders.EVENT_ID, eventId);
reminderValues.put(Reminders.METHOD, Reminders.METHOD_ALERT);
Uri reminderUri = context.getContentResolver().insert(Reminders.CONTENT_URI, reminderValues);
}
}
// 查询日程事件
public static Cursor getEventCursor(Context context, long eventId) {
Uri uri = CalendarContract.Events.CONTENT_URI;
String selection = CalendarContract.Events._ID + " = ?";
String[] selectionArgs = new String[]{String.valueOf(eventId)};
Cursor cursor = context.getContentResolver().query(uri, null, selection, selectionArgs, null);
return cursor;
}
}
```
在这个示例中,我们使用了Android提供的CalendarContract和Reminders API来访问本地日历数据。我们修改了editEvent方法,以便接受一个List<Long>参数,用于指定要设置的多个提醒时间。我们首先使用Uri构建器构建一个指向要更新的事件的Uri,然后使用ContentResolver的delete方法删除所有现有的提醒时间。接下来,我们循环遍历reminderTimes列表,并使用ContentValues对象创建新的提醒时间,最后使用ContentResolver的insert方法将它们插入到日历事件中。
使用这些方法,您可以轻松地修改本地日程数据,包括标题,描述,开始时间,结束时间和多个提醒时间。
阅读全文