Time oder Calendar? Oder beides?

  • Antworten:12
  • Bentwortet
Michele
  • Forum-Beiträge: 1.525

07.06.2013, 03:29:11 via Website

Hallo alle zusammen.

Möchte gerne eine if() machen die z.B von 20-8uhr sich ausführen lässt/tut.
Wie kann ich das am besten umsetzen?

Mit dem Time oder Calendar?
Oder AlarmManager?



LG

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

07.06.2013, 07:45:28 via App

Soll die App automatisch etwas in dieser Zeit tun oder sollen Aktionen nur in dieser Zeit erfolgen?

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
Michele
  • Forum-Beiträge: 1.525

07.06.2013, 15:10:22 via Website

Sagen wir mal so..Beides wäre Interessant.

Am besten wäre..Eine if() von 20-8uhr und dann eine else if() von 8-20uhr.


LG

Antworten
Michele
  • Forum-Beiträge: 1.525

07.06.2013, 17:23:57 via Website

Also ich habe es nun mal so versucht.


1Calendar cal = Calendar.getInstance();
2int stunde = cal.get(HOUR_OF_DAY);
3if (stunde <=8 && stunde > 20) {
4
5// Was er dann tun soll
6
7} else if(stunde > 8 && stunde <=20) {
8
9// Was er dann tun soll
10
11
12}

Klappt aber irgendwie noch nicht so ganz.



LG

— geändert am 07.06.2013, 17:28:15

Antworten
Michele
  • Forum-Beiträge: 1.525

07.06.2013, 17:46:59 via Website

Stimmt. Das habe ich vergessen.

Aber werde ich kaum sehen können die Nachricht dann.
Android Studio läuft das LogCat so schnell
und ist viel anders als beim Eclipse.

Muss ich mal gleich gucken und testen.


LG

Antworten
Michele
  • Forum-Beiträge: 1.525

07.06.2013, 18:21:05 via Website

@impjor:

Also habe es mit:
1Log.d(TAG, "Stunde = "+stunde);
mir angeschaut.

Das Problem ist hier, es ist z.B gerade 18uhr was er mir auch anzeigt im LogCat.
Aber wenn ich meine Handy Uhr änder auf 20uhr, bleibt er auf 18uhr laut LogCat.
Mache das alles per Button die if();

Wie lange braucht das Handy oder der Calendar bis er sich Aktualisiert?
Und mir im LogCat die Aktuelle Zeit anzeigt?


LG

— geändert am 07.06.2013, 18:29:11

Antworten
MM3Tools
  • Forum-Beiträge: 2

07.06.2013, 18:40:01 via Website

wann ist diese Bedingung erfüllt?
if (stunde <=8 && stunde > 20) {

&& gegen || tauschen

besser

if(stunde > 8 && stunde <=20) {
}
else {
}

Antworten
Michele
  • Forum-Beiträge: 1.525

07.06.2013, 18:42:36 via Website

Hallo.

Danke dir.
Das ist gerade nicht das Problem.

Sondern wie ich oben schrieb, Aktualisiert der Calendar sich nicht.


LG

Antworten
Michele
  • Forum-Beiträge: 1.525

07.06.2013, 19:13:58 via Website

Danke dir.

Habe es nun denke anders hinbekommen.

Da alles im Service läuft mit dem Buttonklick, habe ich wenn die if() fertig ist
1stopself();
gemacht. Da wird der Service beendet.
So wird beim neuen klick der Service neugestartet und natürlich auch der Calendar Aktualisiert.

Dazu darf man nicht vergessen das
1mCalendar.get(Calendar.HOUR_OF_DAY);
nur in volle zahlen zu vergleichen ist. Da sind keine Minuten oder Sekunden dabei.
Also musste ich das so schreiben:

1if (stunde >= 8 && stunde < 20) {
2
3} else if(stunde < 8 && stunde >=20) {
4
5}

Antworten
MM3Tools
  • Forum-Beiträge: 2

07.06.2013, 19:26:09 via Website

Noch ein Hinweis du setzt aber im Kalender die Zeit neu.

calendar.setTimeInMillis(System.currentTimeMillis());

Antworten
Michele
  • Forum-Beiträge: 1.525

07.06.2013, 20:00:00 via Website

Ahh ok ok danke :D

Danke euch allen nochmal.


LG

Antworten