1

私はアプリケーションを開発しています。デバイスカレンダーにリマインダーを設定しています。for()ループからaddReminderメソッドを呼び出して、アプリケーションに複数のリマインダーを設定しています。リマインダーを設定するコードは次のとおりです。

private void addReminder(int statrYear, int startMonth, int startDay, int startHour, int startMinut, String title){
    // Convert start of begin time of reminder in milliseconds.
    Calendar beginTime = Calendar.getInstance();
    beginTime.set(statrYear, startMonth, startDay, startHour, startMinut);
    long startMillis = beginTime.getTimeInMillis();

    // String to access default google calendar of device for Event setting.
    String eventUriString = "content://com.android.calendar/events";

    // Creation of Event.
    ContentValues eventValues = new ContentValues();
    // Set calendar as 1 for default calendar.
    eventValues.put(Events.CALENDAR_ID, 1);
    // Set title as user define.
    eventValues.put(Events.TITLE, title);
    // Set description as user define.
    eventValues.put(Events.DESCRIPTION, "MYApp");
    // Set location as user define.
    eventValues.put(Events.EVENT_TIMEZONE, "India");
    // Set start time as system time or time converted in milliseconds.
    eventValues.put(Events.DTSTART, startMillis);
    // Set status of event as 1.
    eventValues.put("eventStatus", 1);
    // Set visibility of event as 3 (public).
    eventValues.put("visibility", 3);
    // Set transparency as 0. No other app seen through reminder.
    eventValues.put("transparency", 0);
    // Set alarm as 1. Ringing.
    eventValues.put(Events.HAS_ALARM, 1);

    // Set Event in calendar.
    Uri eventUri = getContentResolver().insert(Uri.parse(eventUriString), eventValues);
    // Getting ID of event in Long.
    long eventID = Long.parseLong(eventUri.getLastPathSegment());

    /***************** Event: Reminder(with alert) Adding reminder to event *******************/
    // String to access default google calendar of device for reminder setting.
    String reminderUriString = "content://com.android.calendar/reminders";      
    ContentValues reminderValues = new ContentValues();

    // Set reminder on Event ID.
    reminderValues.put("event_id", eventID);
    // Set reminder minute before.
    reminderValues.put("minutes", 1);
    // Set method of reminder
    reminderValues.put("method", 1);        

    @SuppressWarnings("unused")
    //Setting reminder in calendar on Event.
    Uri reminderUri = getContentResolver().insert(Uri.parse(reminderUriString), reminderValues);
}

そして、上記のメソッドを呼び出しているforループは次のとおりです。

for(int i=0; i<numberOfReminder; i++){
    addReminder(statrYear, startMonth, startDay, startHour, startMinut, title);
}

今私の必要性は:

カレンダーに1つのリマインダーを設定する時間を秒単位で計算したいと思います。また、すべてのリマインダーを設定するために必要な合計時間、リマインダーの合計数は実行時に表示されます。

だから私は秒またはミリー秒でリマインダーの1つと多くの数を設定する時間を計算するために何をすべきですか?

4

1 に答える 1

0

これにはいくつかの解決策があります。

  1. ログ情報を使用します。
  2. 次のように時間を測定します。

    ロングスタート=System.currentTimeMillis();

    リマインダーの設定

    ロングエンド=System.currentTimeMillis(); //またはstart=start --System.currentTimeMillis();

    次に、終了します-start =?*これはミリ秒単位であるため、秒数を取得するには1000で割る必要があることに注意してください。

乾杯

于 2013-02-26T11:57:47.503 に答える