2013-02-26 4 views
1

Я разрабатываю приложение. В котором я настраиваю напоминания в календаре устройства. Я устанавливаю несколько напоминаний в своем приложении, вызывая метод addReminder из цикла for(). Код для установки напоминаний выглядит следующим образом.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(int i=0; i<numberOfReminder; i++){ 
    addReminder(statrYear, startMonth, startDay, startHour, startMinut, title); 
} 

Теперь моя потребность:

Я хочу, чтобы вычислить время, чтобы установить одно напоминание в календаре в секунд. И общее время, необходимое для установки всех напоминаний, общее количество напоминаний дается во время выполнения.

Итак, что мне делать, чтобы рассчитать время установки одного и нескольких напоминаний в секундах или миллисекундах.

+0

Вы хотите установить таймер для запуска в определенное время, или вы хотите, чтобы вычислить, сколько времени там недо начинается напоминание? Если вы хотите установить напоминание, вы, вероятно, правильно подберете его из календаря? Тогда у вас есть год, месяц и день. Затем вы устанавливаете час и минуты - таким образом, у вас есть их. Это только я или вопрос неясен? – g00dy

+0

Мне нужно рассчитать, какое количество времени занимает приложение для установки одного напоминания и количества напоминаний, например, 50 или 100 напоминаний. –

ответ

0

Есть несколько решений этой:

  1. Использование Log информации.
  2. Измерьте время как это:

    длиной старт = System.currentTimeMillis();

    Установка напоминаний

    длинный конец = System.currentTimeMillis(); // или start = start - System.currentTimeMillis();

    Тогда просто получите конец - начало =? * Обратите внимание, что это в миллисекундах, поэтому вам нужно разделить его на 1000, чтобы подсчитать количество секунд.

Приветствие

Смежные вопросы