Persönlicher Wecker mit Sprüchen - soll im Hintergrund laufen

Jasi

Mitglied
Anfänger: Persönlicher Wecker mit Sprüchen - soll im Hintergrund laufen

Hallo

Ich möchte einen Wecker programmieren. Alles was ich tun muss ist doch eigentlich die Zeit auslesen und ne mausbewegung zB als Abbruch...... ne graphische Oberfläche brauche ich im Grunde erstmal nicht.

Der Plan: Ich möchte das im Hintergrund laufen lassen. Es würde reichen das ganze im cmd zu starten. Das Ausschalten funktioniert über ne mausbewegung oder nen tastenklick....

Mein Problem: Bisher hab ich nur immer mit Teilstücken rumprogrammiert und nur mal mit Together J ne ordentliche code struktur hinbekommen. Es würde reichen, wenn der code schlampig ist.

Ich möchte das ganze alleine machen, weiß aber nicht wo ich anfangen soll und worauf ich achten muss...

Wie fange ich das projekt überhaupt an? Den standard code zum uhr auslesen und mausbewegung den werd ich sicher noch finden. ich werde dann aber höchstwarscheinlich Fragen zur Einbindung des codes haben.. Ich hoffe, da kann ich mich hier an die Leser wenden.

Ich möchte das Projekt echt gerne von Anfang bis zum Ende bringen. Aber ich brauche hilfe....

Danke schonmal!
Jasi
 
Zuletzt bearbeitet:
Dein Projekt sollte nicht allzu aufwendig werden ...

Teil dir dein Projekt einfach in kleine Aufgaben auf:

- Du könntest bspw. zuerst versuchen den Timer laufen zu lassen.
- Dann die Reaktion auf bestimmte Zeitpunkte zu realisieren.
- Dann das Einbinden der Sprüche, wie auch immer du dir das vorstellst
- .. und dann vielleicht noch das Abbrechen der Applikation. Obwohl ich das Programm an deiner Stelle einfach beenden würde, wenn der Alarm ausgelöst wurde.

Bei alldem solltest du darauf achten, dass du das Programm modular aufbaust ..

Ein guter Einstiegspunkt ist sicherlich die Klasse "Date" ...
 
Also ich hab jetzt ein Applet gemacht in dem ne Uhr läuft und ne lustige Animation. dem füge ich dann noch den Sound zu.. zB so Geschrei von wegen: AUUUFWACHEN !

:-)

Das Prob ist, dass ich das Applet nich als .exe machen kann. aber ich dachte mir es kann ja nicht so schwer sein, das als eigenständigen Teil aus einem anderen Programm zu starten.
Dh, ich hab ein Programm, das ja auch die ganze Zeit eh im Hintergrund laufen muss und das ruft dann zu einem bestimmten Zeitpunkt dieses Applet auf....

Ist das so realisierbar?

Wenn nicht, wie kann ich das ganze sonst umsetzen, wenn das mit dem Applet nich geht?
:(
 
Da du ja zum Starten eines Applets normalerweise einen Browser oder Appletviewer brauchst, würde ich ganz einfach aus dem Applet eine Applikation machen .. dann kannst du ganz einfach eine Endlosschleife implementieren, welche den "Alarmteil" aktiviert sobald Zeitpunkt == x ist .. ;)

Mit einer Batch Datei kannst du die Applikation dann auch einigermaßen komfortabel starten ..
 
hmmm . Also wie ich die Abfrage nach der Zeit mache, ist mir wohl klar. Aber:

- wie mach ich denn aus einem Applet eine Applikation?
- was ist eine batch - Datei
- die Endlosschleife checkt einfach nur die Zeit, oder? und sobals Zeit x erreicht ist, wird die 'Applikation' gestartet. Korrekt?

(Habe solange nichts von mir hören lassen zu diesem Thema, weil ich ne Prüfung hatte. Jetzt bin ich wieder voll dabei - allerdings immernoch ziemlich ratlos.)

:-(
 
komisch, was ist mit dem Thread passiert?

in stop() und destroy() wirst du ja sicher nicht allzuviel machen. Also sollte es für die Intialisierung
reichen, wenn du den Code, den du in init() und start() stehen hast in die main()-Methode
schreibst.
Oder du rufts in main() die beiden Methoden einfach auf.

der run()-Methode nach verwendest du einen Thread? Also muss die Klasse
entweder "extends Thread" oder "implements Runnable" beinhalten, damit der
Thread weiterhin funktioniert.

eine Batch-Datei (Batch = Stapel) ist nur eine Art Startscript für die Anwendung,
an sich sollte aber "java MeineUhr" reichen, je nachdem wie du das mit dem
Aufrufen etc machen willst.
 
Ja danke... mit hilfe deiner Tipps und Google hab ichs hinbekommen :) ich hab in der batch datei auch nur "java GetUp" geschrieben und das funktionierte.. Nur wurde das Konsolen Fenster nicht unterdrückt........

So. Weiter:

Das Programm soll nur um eine bestimmte, vorher angegebene Uhrzeit starten. Als Wecker eben. Wie realisiere ich das? WO muss ich die Schleife reinpacken in der bei einer Zeit x die Applikation startet?
 
Ähm .. wenn du die komplette Zeitfunktion aus der Java Applikation herraus nimmst, brauchst du diese Applikation eigtl. nicht mehr .. :)

Dann kann man doch gleich irgend ein externes Programm nehmen und sagen starte um 20:15 Uhr Alarm.wav oder irgendwie so ..

Was macht denn jetzt deine Applikation, außer irgend einen Sound bzw. Text auszugeben. ? Es macht nur Sinn, wenn sie dauerhaft im Hintergrund läuft und du verschiedene Alarmtermine irgendwo eintragen kannst .. (Siehe meine Nachricht an dich) ..
 
Original geschrieben von Jasi
Das Programm soll nur um eine bestimmte, vorher angegebene Uhrzeit starten...
Falsch! Das Programm soll beim Hochfahren des Systems gestartet werden, sonst kannst Du ja die aktuelle Uhrzeit gar nicht checken.;) Du kannst zum Beispiel versuchen, die Batch-Datei über die Autostart-Funktion von Windows, zu starten.

Sobald das Programm erstmal läuft, kannst Du dann in der run() Methode (vorausgesetzt Deine Klasse implementiert Runnable) in bestimmten Zeitabständen die aktuelle Zeit überprüfen:
Code:
    public void run() {
        while (true) {
            try {
                checkTime();
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    private void checkTime() {
        // checke hier die Zeit und führe ggf. die gewünschte Operationen aus
    }
Damit der Thread gestartet wird, musst Du es in dem Konstruktor aktivieren:
Code:
Thread thread = new Thread(this);
thread.start();
 
Zuletzt bearbeitet:
Also in der Applikation sieht man ein Bild und ein gif, das durchs Bild läuft. Zudem wird ein sehr unangenehmer 'Aufwach Sound' abgespielt... DAS ist die Applikation.
Aber die soll ja nicht die ganze Zeit laufen. ;) Wie ich sie nun im Hintergrund laufen kann weiß ich nicht. Reicht das echt, wenn ich einfach im run ne Schleife einbau die erst die Uhrzeit checkt und dann zu der gewissen Uhrzeit in die 'run' Funktion wechselt und die Applikation DANN erst richtig startet?

Für die Eingabe der gewünschten Zeit x brauch ich ja erstmal keine gui. Das soll ja erstmal überhaupt laufen.

Also in der run() läuft die Warteschleife, die dann über start() die eigentliche Applikation startet!?
 
Zurück