2013-02-26 71 views
1

我正在開發一個應用程序。我在設置日曆中設置提醒。我通過調用for()循環的addReminder方法在我的應用程序中設置多個提醒。設置提醒的代碼如下。Android:計算時間來設置提醒

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); 
} 

現在我需要的是:

我想計算的時候設置日曆一個提醒在秒。設置所有提醒所需的總時間,提醒的總數在運行時給出。

那麼我該怎麼做,以秒或毫秒秒計算設置一個和許多提醒的時間。

+0

你要設置的計時器在指定的時間來啓動,或要計算有多少時間是直到提醒開始?如果你想設置一個提醒,你可能會從日曆中選擇它嗎?然後你有年,月和日。然後你設定小時和分鐘 - 因此你有他們。只是我還是問題不清楚? – g00dy 2013-02-26 10:28:23

+0

我需要計算應用程序花費多少時間來設置單個提醒和提醒數量,例如50或100個提醒。 – 2013-02-26 11:09:29

回答

0

有幾種解決方案,以這樣的:

  1. 使用Log信息。
  2. 測量像這樣的時間:

    long start = System.currentTimeMillis();

    提醒的設置

    長端= System.currentTimeMillis的(); //或start = start - System.currentTimeMillis();

    然後剛剛結束 - 開始=? *請注意,這是以毫秒爲單位,所以您需要將它除以1000以獲得秒數。

乾杯