2012-04-02 17 views
12

Ich bin ziemlich neu in Android, aber habe schon einige Erfahrung mit Java selbst. Jetzt möchte ich eine App einrichten, die nach Uhrzeit und Datum fragt und dann einen Wecker aufstellt. Ich schaute schon durch die Google Apis und viele andere Sachen, aber entweder ich verstehe es nicht oder es ist veraltet.AlarmClock für Anfänger - Android

Kann mir jemand helfen, den Wecker einzurichten, während er erklärt, wie es funktioniert?

Thanks :)

+0

Hast du das gesehen? http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/index.html#Alarm – user931366

Antwort

14

Dies ist funktionierenden Code in Version 10. Sie benötigen eine Absicht zur Einrichtung einer neuen Instanz des Alarmclock zu starten. Stellen Sie sicher, dass Sie die Konstanten EXTRA_HOUR und EXTRA_MINUTE Ihren eigenen Variablennamen oder hartcodierten Konstanten zuweisen. In diesem Beispiel sind sie für die vom Benutzer eingegebene Zeit codiert, die aus dem Kalender (im java.util.Calendar) entnommen wurde.

Intent openNewAlarm = new Intent(AlarmClock.ACTION_SET_ALARM); 
     openNewAlarm.putExtra(AlarmClock.EXTRA_HOUR, hour_alarm); 
     openNewAlarm.putExtra(AlarmClock.EXTRA_MINUTES, minute_alarm); 
     startActivity(openNewAlarm); 

dieser nächste Abschnitt erhält die aktuelle Zeit von der internen Uhr und gibt sie in einem Timepicker Hier kann der Benutzer eine neue Zeit im nächsten eingeben und auf die Absicht zurückzukehren einen neuen Alarm einzustellen.

public Dialog onCreateDialog(Bundle savedInstanceState) { 
     // Use the current time as the default values for the picker 

     final Calendar c = Calendar.getInstance(); 
     hour_local = c.get(Calendar.HOUR_OF_DAY); 
     minute_local = c.get(Calendar.MINUTE); 

     // Create a new instance of TimePickerDialog and return it 
     return new TimePickerDialog(getActivity(), this, hour_local, minute_local, 
       DateFormat.is24HourFormat(getActivity())); 
    } 

Um einen Timepicker schaffen eine innere statische Klasse zu verwenden, eine, die es die Anrufe innerhalb der Aktivität ist. Schau dir das an http://developer.android.com/reference/android/widget/TimePicker.html

+0

Warum der Downvote? –

+0

Nun eine Sache für Leute (wie mich), die in diesen Beitrag ~ eingreifen, ist, dass es einen veralteten Ansatz verwendet: 'onCreateDialog' innerhalb einer [Aktivität] (http://developer.android.com/reference/android/app/Activity. html) heutzutage verwenden sie ein 'DialogFragment', das in diesem [dialog guide] ausgekleidet ist (http://developer.android.com/guide/topics/ui/controls/pickers.html) – pellekrogholt

+4

Eine Person ist" veraltet "ist eine andere" funktioniert auf älteren Geräten ". –