Android开发修改本地日程数据demo 需要修改的数据有多个提醒时间,描述 title 开始时间和结束时间
时间: 2023-11-14 09:28:28 浏览: 125
Android日期和时间的设置DEMO
好的,针对您的问题,下面是一个简单的Android应用程序示例,演示如何修改本地日程数据:
```java
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.provider.CalendarContract;
public class CalendarHelper {
private static final String[] EVENT_PROJECTION = new String[]{
CalendarContract.Events._ID,
CalendarContract.Events.TITLE,
CalendarContract.Events.DESCRIPTION,
CalendarContract.Events.DTSTART,
CalendarContract.Events.DTEND,
CalendarContract.Events.EVENT_TIMEZONE,
CalendarContract.Events.CALENDAR_ID,
CalendarContract.Events.EVENT_LOCATION,
CalendarContract.Events.ALL_DAY
};
// 修改日程事件
public static void editEvent(Context context, long eventId, String title, String description, long startTime, long endTime) {
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 updateUri = CalendarContract.Events.CONTENT_URI.buildUpon()
.appendPath(Long.toString(eventId)).build();
int rows = context.getContentResolver().update(updateUri, values, null, null);
}
// 查询日程事件
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, EVENT_PROJECTION, selection, selectionArgs, null);
return cursor;
}
}
```
在这个示例中,我们使用了Android提供的CalendarContract API来访问本地日历数据。我们定义了两个方法,分别用于修改和查询日程事件。在editEvent方法中,我们首先创建一个ContentValues对象,用于存储我们要修改的值,然后使用Uri构建器构建一个指向我们要修改的事件的Uri,最后使用ContentResolver的update方法更新事件。在getEventCursor方法中,我们使用Uri和selection参数查询指定ID的事件,并返回一个Cursor对象,该对象包含查询结果的所有列。
使用这些方法,您可以轻松地修改本地日程数据,包括提醒时间,描述,标题,开始时间和结束时间。
阅读全文