2012-04-23 2 views
1

내 코스에 알람을 설정하려고합니다. 그들이 시작하기 전에 1 시간 전에 경보를해야합니다. 그래서 난 그냥 원하는 년 몇 주를 통해 알람 일정을 설정할 수 없습니다.

  • 보기 (루프 ... 51, 52)의 클래스를 통해
    • 보기 (루프 ... n)의
      • 세트의

        • GET 주 이 클래스
        • 에 대한 요일 한 시간
        • 이를 사용하여 00
        • 세트 경보에 분을 설정,이 클래스 전에 하루의 시간을 설정 23.04 : 루프의 일정 예를
      • 끝 (클래스)

     

    Calendar cal = Calendar.getInstance(); 
    cal.setTimeInMillis(System.currentTimeMillis()); 
    for (int i = cal.get(Calendar.WEEK_OF_YEAR); i <= 52; i++) { 
        for (Dersler d : dersProgrami) { 
         alarm = new DersAlarmi(String.valueOf(d.getBaslangicS()) + "00", d.getDersAdi(), d.getDerslik()); 
         cal.set(Calendar.DAY_OF_WEEK, d.getDayOfClass()+1); 
         cal.set(Calendar.MINUTE, 00); 
         cal.set(Calendar.HOUR_OF_DAY, d.getStartHour()); 
         cal.add(Calendar.HOUR_OF_DAY, -1); 
         Log.i("ALARM KURULDU", 
          String.valueOf(i) + String.valueOf(cal.get(Calendar.DAY_OF_MONTH))+"."+String.valueOf(cal.get(Calendar.MONTH))+"."+String.valueOf(cal.get(Calendar.YEAR))+" "+String.valueOf(cal.get(Calendar.HOUR_OF_DAY))+":"+String.valueOf(cal.get(Calendar.MINUTE))+" Ders:" + d.getDersAdi() 
           + " Hafta:" 
           + cal.get(Calendar.WEEK_OF_YEAR) + " Gün:" 
           + cal.get(Calendar.DAY_OF_WEEK) + " Saat:" 
           + cal.get(Calendar.HOUR_OF_DAY)); 
          alarmManager.set(AlarmManager.RTC_WAKEUP, 
           cal.getTimeInMillis(), pendingIntent); 
         dersAlarmlari.add(alarm); 
        } 
        cal.set(Calendar.WEEK_OF_YEAR, cal.get(Calendar.WEEK_OF_YEAR)+1); 
    } 
    

    현재 날짜 시간이 현재 주부터 일주일 일주일 설정합니다. 2012 23:37

    Logc 시는 다음과 같습니다

    04-23 23:23:10.835: I/ALARM KURULDU(16380): 17 25.3.2012 14:0 Ders:DATA MINING Hafta:17 Gün:4 Saat:14 
    
    04-23 23:23:10.835: I/ALARM KURULDU(16380): 17 23.3.2012 8:0 Ders:Database Management and SQL Hafta:17 Gün:2 Saat:8 
    
    04-23 23:23:10.855: I/ALARM KURULDU(16380): 17 25.3.2012 12:0 Ders:ENTREPRENEURSHIP Hafta:17 Gün:4 Saat:12 
    
    04-23 23:23:10.865: I/ALARM KURULDU(16380): 1723.3.2012 11:0 Ders:GRADUATION PROJECT Hafta:17 Gün:2 Saat:11 
    
    04-23 23:23:10.865: I/ALARM KURULDU(16380): 18 25.3.2012 14:0 Ders:DATA MINING Hafta:17 Gün:4 Saat:14 
    
    04-23 23:23:10.885: I/ALARM KURULDU(16380): 18 23.3.2012 8:0 Ders:Database Management and SQL Hafta:17 Gün:2 Saat:8 
    
    04-23 23:23:10.885: I/ALARM KURULDU(16380): 18 25.3.2012 12:0 Ders:ENTREPRENEURSHIP Hafta:17 Gün:4 Saat:12 
    
    04-23 23:23:10.895: I/ALARM KURULDU(16380): 18 23.3.2012 11:0 Ders:GRADUATION PROJECT Hafta:17 Gün:2 Saat:11 
    
    04-23 23:23:10.905: I/ALARM KURULDU(16380): 19 25.3.2012 14:0 Ders:DATA MINING Hafta:17 Gün:4 Saat:14 
    

    ...

    그래서 왜 말하는가는 23 03 0.2012 또는 대신에 오늘 날짜의 로그 캣에서 03 0.2012 (25) (23) 04 .2012? 나는 이것을 위해 내 시간을 낭비하고있다. 아무에게나 나에게 경보를 설정하는 올바른 방법을 말해 줄 수 있니? 달은 제로 색인으로 모습을 반환하지만 cal.get(Calendar.MONTH))

    : 당신은 달를 출력하려면이 옵션을 사용하고

  • 답변

    2

    .

    캘린더 맨 페이지에 따르면 JANUARY의 값은 0이고 APRIL의 값은 3입니다. 따라서 일반적으로 인쇄되는 월을 인쇄하려면 (4 월 = 4), 인쇄하기 전 달.

    +0

    String.valueOf ((cal.get (Calendar.DAY_OF_MONTH) +1)) 아무 것도 효과가 없지만 여전히 3을 인쇄합니다. S 어쨌든, 하루에 무엇을 말할 수 있습니까? 그리고 그것은 내가 현재 주에 1을 더할 수 없을 것 같습니다 ... – mtekeli

    +1

    DAY_OF_MONTH에 왜 추가하고 있습니까? 나는 MONTH가 아니라 DAY_OF_MONTH를 가리킨다. – Tim

    +0

    나의 실수는 ok이다. 그러나 달의 문제는 여전히 남아있다. 또한 cal.set (Calendar.WEEK_OF_YEAR, cal.get (Calendar. WEEK_OF_YEAR) +1) – mtekeli

    관련 문제