So mache ich einfache Wecker für mein Projekt an der Universität. Ich verwende Android Studio.Alarm Anwendung Android Studio
Hier ist der Code:
public class AlarmActivity extends AppCompatActivity {
TimePicker alarm_timer;
TextView update_text;
Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alarm);
this.context = this;
// initialize
alarm_timer = (TimePicker) findViewById(R.id.timePicker);
update_text = (TextView) findViewById(R.id.textView);
//create instance of calendar
final Calendar calendar = Calendar.getInstance();
Button alarm_on = (Button) findViewById(R.id.bttnAlarmSet);
//onClickListener
assert alarm_on != null;
alarm_on.setOnClickListener(new View.OnClickListener() {
@TargetApi(Build.VERSION_CODES.M)
@Override
public void onClick(View v) {
calendar.set(Calendar.HOUR_OF_DAY, alarm_timer.getHour());
calendar.set(Calendar.MINUTE, alarm_timer.getMinute());
int hour = alarm_timer.getHour();
int minute = alarm_timer.getMinute();
//convert int values to string
String hour_string = String.valueOf(hour);
String minute_string = String.valueOf(minute);
//Change TextView
set_alarm_text("Alarm set to: "+ hour_string +":"+ minute_string);
}
});
}
//Method to Change text View
private void set_alarm_text(String output) {
update_text.setText(output);
}
Wenn ich es ohne calendar.set eingerichtet (...) und hour_string/minute_string, um nur anzuzeigen Alarm es funktioniert perfekt, sonst die App nicht mehr funktioniert.
Projektstruktur ist für API19: Android 4.4 (KitKat). Mein Telefon ist API23: Android 5.1 (Lollipop).
Als ich schrieb
calendar.set(Calendar.HOUR_OF_DAY, alarm_timer.getHour());
calendar.set(Calendar.MINUTE, alarm_timer.getMinute());
Er sagt: "Anruf erfordert API Stufe 23 (Current min 19)". Und von der kleinen gelben Glühbirne hat es mir automatisch die Zeile "@TargetApi (Build.VERSION_CODES.M)" geschrieben. Ich denke, das ist, wo das Problem ist, aber ich bin schlecht in Java oder irgendetwas Java-bezogen.
Wenn mir jemand helfen oder zumindest einen Fehler bemerken könnte, wäre ich dankbar!
Die Fehlermeldung ist ziemlich einfach: entfernen Sie die Zeile, die mit '@TargetApi ...' beginnt und versuchen Sie es erneut ... – alfasin
"Aufruf erfordert API Level 23 (aktuelle min ist 19)". bedeutet, dass die von Ihnen verwendete Codezeile in neuen Android-Betriebssystemen entwickelt und unterstützt wird. –